Compare commits

..

107 Commits

Author SHA1 Message Date
a0c1ec2018 Merge branch 'develop' 2014-05-27 08:45:08 +08:00
1fde7cc293 Merge branch 'origin/develop' 2014-05-01 13:46:22 +08:00
74a5d8804c reverting support for ref pending review 2014-05-01 13:44:45 +08:00
8e4dd16b2d Merge pull request #5 from ericniebler/nil-hpp
Move definition of struct nil_ into its own header
2014-04-24 08:55:17 +08:00
d2633616dc fix copyright 2014-04-23 16:50:58 -07:00
01ed85e0e5 put struct nil_ in its own header to fix incomplete type error with nvcc 2014-04-23 16:47:03 -07:00
6c904779af fixes #5208 2014-04-09 10:03:23 +08:00
41e18be5cf Merge pull request #4 from jamboree/develop
flatten/flatten_view/ref
2014-04-04 14:50:25 +08:00
fd3a18ce1a flatten/flatten_view/ref 2014-04-04 14:38:38 +08:00
21a2621cce Merge branch 'origin/develop' 2014-03-18 23:44:59 +08:00
efad85a925 fixes Ticket #9455 2014-03-18 23:43:23 +08:00
ad90e29cd6 Merge branch 'origin/develop' 2014-03-17 11:04:37 +08:00
a9ed19e3b8 Merge pull request #2 from ericniebler/gpu-enabled-2
Add function annotations necessary to run Fusion on GPUs
2014-01-28 15:04:23 -08:00
26b28eff93 Merge remote-tracking branch 'upstream/develop' into gpu-enabled-2 2014-01-28 14:35:41 -08:00
e113b31fdd final gpu-enabling tweaks 2014-01-28 14:32:03 -08:00
44d5dca98b Fixed test to work with an explicit operator bool 2014-01-26 19:06:16 -06:00
c04e912866 gpu-enable vector assign 2014-01-23 21:48:52 -08:00
125a8b5957 Merge remote-tracking branch 'upstream/develop' into gpu-enabled-2 2014-01-23 21:30:44 -08:00
e5b0f3c2e1 gpu-enable more functions, but not stream inserters and extractors 2014-01-23 21:30:18 -08:00
4b139914b1 Fixed issue with vectorN calling the wrong vector_dataN constructor 2014-01-23 08:31:50 -06:00
c4f9f0d1b6 gpu-enable functions 2014-01-22 23:55:53 -08:00
aa78028662 Updated changelog
removed unmaintained todo.txt

[SVN r80347]
2014-01-22 22:26:56 -08:00
ec5f8dc5ec Merge branch 'origin/master'
Conflicts:
	doc/html/index.html
	include/boost/fusion/container/map/map_fwd.hpp
2014-01-23 01:08:13 +08:00
867c7e5dfb Merge pull request #1 from ericniebler/preprocess
build target for preprocessing Fusion with wave
2014-01-21 15:12:28 -08:00
e1dc534877 build target for preprocessing Fusion with wave 2014-01-21 14:17:09 -08:00
14580550cf Merge r86524 (Correct broken links to C++ standard papers); fixes #9212
[SVN r86673]
2013-11-13 03:22:55 +00:00
f2e7a184a0 Correct broken links to C++ standard papers. Refs #9212.
[SVN r86524]
2013-10-30 12:51:24 +00:00
93447d3382 Merged 84441 to release
[SVN r86251]
2013-10-12 01:35:27 +00:00
266a7622ba Fixes #9110
[SVN r86165]
2013-10-05 18:47:44 +00:00
de18e59c85 Fixes Ticket #7513
[SVN r86128]
2013-10-01 23:41:38 +00:00
94618528b6 Remove use of obsolete BOOST_NO_TEMPLATED_STREAMS macro.
It was only defined for no-longer-supported-gcc.

[SVN r86062]
2013-09-30 15:56:52 +00:00
a9335aa664 big merge from trunk
[SVN r85669]
2013-09-15 06:27:58 +00:00
8aef19648b big merge from trunk
[SVN r85668]
2013-09-15 06:16:39 +00:00
1f718e4520 Wave: Merging from trunk
[SVN r85641]
2013-09-10 12:47:28 +00:00
66ddb762d3 merge [84937] from trunk, fixes #8759
[SVN r85426]
2013-08-22 19:45:30 +00:00
fc38122f0f Merge from trunk
[SVN r81061]
2012-10-25 02:06:21 +00:00
940c594d3e Merge from trunk
[SVN r81060]
2012-10-25 02:06:04 +00:00
9cceb79cf8 update from trunk fixing http://boost.2283326.n4.nabble.com/fusion-g-4-6-deque-and-c-0x-compile-error-td4632499.html
[SVN r79958]
2012-08-11 02:36:08 +00:00
5a51e5d9aa Merge from trunk
[SVN r79274]
2012-07-05 04:40:37 +00:00
bcb5fd9618 Merge r77879 from trunk.
I think it should have been merged in r78201, and was messing up the doc build
(you can see it in the content in 1.50 beta1).


[SVN r78876]
2012-06-11 01:30:33 +00:00
e03dcc7c54 added missing file from last merge
[SVN r78203]
2012-04-26 02:27:13 +00:00
2e99690387 added missing file from last merge
[SVN r78202]
2012-04-26 00:26:25 +00:00
ee33ea5cfa Merging 77932-78199 from trunk
[SVN r78201]
2012-04-26 00:18:58 +00:00
93477e270e Merging 77932-78199 from trunk
[SVN r78200]
2012-04-26 00:18:51 +00:00
b159898a47 Fix missed merge from 6338
[SVN r76791]
2012-01-30 00:13:38 +00:00
9a8955fbe1 Merge from trunk
[SVN r75980]
2011-12-16 02:14:17 +00:00
44b337abb0 Fix Ticket #6067
[SVN r75320]
2011-11-05 01:05:04 +00:00
af16a84f09 Bumped copyright date and version to 2.1 (it's about time!) + fixed copyright notices and dates.
[SVN r74887]
2011-10-10 10:38:37 +00:00
4b6dddde03 Bumped copyright date and version to 2.1 (it's about time!).
[SVN r74884]
2011-10-10 10:07:45 +00:00
01156b172a Fix for ticket #6000
[SVN r74873]
2011-10-10 02:33:13 +00:00
295bacb652 Merge from trunk
[SVN r74791]
2011-10-08 08:23:11 +00:00
adb2d8bef0 merge [70965] [73644] [73668] [73669] [73683] [73770] [73771] [73831] [73834] [73854] [73892] [73898] [73899] [73906] [73908] [73927] [74019] [74048] [74113] from trunk to release
[SVN r74325]
2011-09-09 03:27:28 +00:00
518ac25a80 merged [73583] from trunk
[SVN r73606]
2011-08-08 06:29:25 +00:00
efea9aec4b merge [72977] from trunk, regenerate docs
[SVN r73156]
2011-07-16 21:16:10 +00:00
c411c4b479 Spirit: merging from trunk (68457,68496,68522,68865,69218-69219,69294,69476,69546,70042-70043,70049-70050
68320,68374,68377,68386,68449,68461,68485,68487,68489,68491,68494-68495
68519-68520,68523,68536,68538-68539,68548-68549,68576,68645-68646,68657,68676
68687,68690,68707,68725,68744-68746,68852-68853,68861,68870,68904,68906-68908
68938,68989,69020,69022-69024,69091-69092,69103-69104,69114,69136,69138,69193
69202,69204,69233,69292-69293,69295,69297-69298,69323,69337,69378-69380,69405,69429,69431-69433,69444,69450
69495-69498,69501,69503,69505,69527,69599,69618,69623,69670-69671,69673,69675,69772-69774,69780
69811,69813-69814,69833,69851,70045,70211-70216,70224-70225,70483,70549-70550
Fusion: 69113,69118,69137,69583,69589,70008-70009)


[SVN r70577]
2011-03-26 17:18:36 +00:00
13aca9d862 Fusion: merging from trunk stuff needed for Spirit (69113,69118,69137,69583,69589,70008-70009)
[SVN r70575]
2011-03-26 17:10:26 +00:00
dcbebe60f1 Merge from trunk
[SVN r69453]
2011-03-02 00:08:13 +00:00
577a607a14 fix for VC8 (connected to ticket 5084 -showstopper)
[SVN r68325]
2011-01-20 20:47:25 +00:00
aa30bad7e4 fix 1.46 showstopper, fix #5084
[SVN r68264]
2011-01-19 04:28:17 +00:00
94f5406936 Merging fixes to release; fixes #2294 fixes #4918 fixes #3645 refs #2823 refs #1427 refs #2893
[SVN r67792]
2011-01-08 18:38:08 +00:00
cd811f56bc Fusion: merge from trunk
[SVN r67492]
2010-12-29 19:54:59 +00:00
7aa4e2cbda Fusion: merge from trunk - fixed minor doc typos
[SVN r65895]
2010-10-10 20:57:01 +00:00
9792f67700 Fusion: merge from trunk
[SVN r65821]
2010-10-07 22:58:44 +00:00
a3427ea75b Fusion: merge from trunk
[SVN r65735]
2010-10-03 09:46:00 +00:00
134fbf9600 fix for adapted classes' category
[SVN r63805]
2010-07-10 10:06:33 +00:00
199d8b548f merged fusion from the trunk (3)
[SVN r63757]
2010-07-08 18:32:12 +00:00
0f4ac2e9e3 Merge rebuilt fusion documentation with missing file.
[SVN r63737]
2010-07-08 07:50:58 +00:00
32adb57290 Merge rebuilt fusion documentation.
[SVN r63631]
2010-07-04 20:19:01 +00:00
02b2a88bea merged fusion from the trunk (2)
[SVN r63562]
2010-07-03 20:31:16 +00:00
1572e0e9c3 merged fusion from the trunk
[SVN r63560]
2010-07-03 20:10:58 +00:00
649770fdcd merged revision 62675
[SVN r63528]
2010-07-02 18:53:17 +00:00
6f0af5db0a Merge documentation fixes.
* Use `doc/src/*.css` instead of `doc/html/*.css`.
* Remove wiki and people directories.
* Some documentation fixes.
* Left out `minimal.css` changes and boostbook changes because of clashes.


[SVN r63347]
2010-06-26 12:30:09 +00:00
95555f3f20 removes outdated and defunct files
[SVN r61599]
2010-04-26 23:34:55 +00:00
0f33972fe9 fix #1614
[SVN r61487]
2010-04-22 13:14:47 +00:00
a0733ce5ee merge from trunk
[SVN r61204]
2010-04-11 15:41:36 +00:00
dc8225a7aa merge from trunk
[SVN r61189]
2010-04-11 00:31:21 +00:00
994b37e4d5 merge from trunk
[SVN r61043]
2010-04-04 14:43:54 +00:00
3f4d3eb887 Copy generated fusion documentation from trunk.
[SVN r59021]
2010-01-15 06:35:28 +00:00
cda74605fc fusion: merge of associative iterators/views and the new fold interface
[SVN r58618]
2010-01-01 22:00:21 +00:00
b605617c4f Fusion: merged fixes for MSVC warnings from trunk
[SVN r57533]
2009-11-10 02:37:19 +00:00
b22e2b64da rm cmake from the release branch before it goes out broken. Policy dictates that you never commit to release, you commit to trunk and merge to release.
[SVN r56941]
2009-10-17 01:10:45 +00:00
46fc256c2f Sync from trunk (except adapt class)
[SVN r56714]
2009-10-11 16:12:54 +00:00
7615b492af Sync from trunk (except adapt class)
[SVN r56713]
2009-10-11 16:08:54 +00:00
e0a17b552c Fusion: merged nview from trunk
[SVN r56490]
2009-09-30 02:33:30 +00:00
2e805be6df merge from trunk
[SVN r56179]
2009-09-14 07:47:53 +00:00
2f8b91828b merge from trunk
[SVN r56178]
2009-09-14 07:40:39 +00:00
ea5ea7f001 Fix up logic and date_time Jamfiles so they build needed dependencies.
Fix PDF image paths in fusion Jamfile.v2.
Add fusion to the PDF build.

[SVN r55757]
2009-08-24 10:31:43 +00:00
df633002dd Add basic copyright/license to keep cmake out of the inspection report
[SVN r55095]
2009-07-22 21:51:01 +00:00
d726756148 Fusion: merging from trunk
[SVN r53596]
2009-06-03 12:44:26 +00:00
efcab8aae4 Merged revisions 53158,53182,53334,53337,53419,53421,53521,53566-53568,53578,53590 via svnmerge from
https://svn.boost.org/svn/boost/trunk



[SVN r53591]
2009-06-03 04:32:30 +00:00
5dff610007 merge of cmake build files from trunk per beman
[SVN r50756]
2009-01-24 18:57:20 +00:00
d004046aa5 Merge from Trunk
[SVN r49252]
2008-10-10 15:05:47 +00:00
a046e43990 Merge from Trunk
[SVN r49251]
2008-10-10 14:49:19 +00:00
b1ebdd60a6 Merged revisions 48769 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r48769 | eric_niebler | 2008-09-13 21:46:32 -0700 (Sat, 13 Sep 2008) | 1 line
  
  attempt to work around early instantiation problem on edg-based compilers
........


[SVN r48817]
2008-09-17 15:54:23 +00:00
0b58f052b3 doc updates (mini tweaks)
[SVN r47668]
2008-07-22 02:06:42 +00:00
36736edec5 pair doc fix
[SVN r47528]
2008-07-17 23:59:40 +00:00
57725cb393 merge from trunk
[SVN r47205]
2008-07-08 02:43:21 +00:00
099deb4385 merge from trunk
[SVN r47204]
2008-07-08 02:39:55 +00:00
d150ba8498 Fixed non-ascii chars
[SVN r46898]
2008-06-30 12:06:07 +00:00
df2abdab6b Fixed non-ascii chars
[SVN r46897]
2008-06-30 12:04:15 +00:00
780b8bc1b0 With his kind permission, change Jaakko "Järvi" to "Jarvi"
[SVN r46809]
2008-06-28 13:57:20 +00:00
813930aee6 Rebuild a lot of documentation.
[SVN r43650]
2008-03-16 11:38:32 +00:00
9e8d8b1871 Merged revisions 43206,43208-43213 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r43206 | danieljames | 2008-02-10 09:55:03 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Fix some broken links.
........
  r43209 | danieljames | 2008-02-10 14:56:22 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Link to people pages on the website, as they've been removed from the download.
........
  r43210 | danieljames | 2008-02-10 15:02:17 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Point links to the pages that used to be in 'more' to the site.
........
  r43212 | danieljames | 2008-02-10 16:10:16 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Fix links on the home page as well.
........
  r43213 | danieljames | 2008-02-10 16:21:22 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Generated documentation which is no longer generated.
........


[SVN r43214]
2008-02-10 16:39:38 +00:00
4a29dd2a7c merge from trunk
[SVN r42226]
2007-12-21 03:13:31 +00:00
7bd2fd716d merge from trunk
[SVN r42225]
2007-12-21 02:45:20 +00:00
d57e8cfe9e Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
ed9cb87ac3 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
868 changed files with 16848 additions and 2320 deletions

View File

@ -1841,6 +1841,50 @@ Constant. Returns a view which is lazily evaluated.
[endsect]
[section flatten]
[heading Description]
Returns a new sequence without nested sequences.
[heading Synopsis]
template<
typename Sequence
>
typename __result_of_flatten__<Sequence>::type flatten(Sequence& seq);
template<
typename Sequence
>
typename __result_of_flatten__<Sequence const>::type flatten(Sequence const& seq);
[table Parameters
[[Parameter][Requirement][Description]]
[[`seq`][A model of __forward_sequence__][Operation's argument]]
]
[heading Expression Semantics]
__flatten__(seq);
[*Return type]:
* A model of __forward_sequence__.
[*Semantics]: Returns a new sequence containing all the leaf elements of `seq`.
[heading Complexity]
Constant. Returns a view which is lazily evaluated.
[heading Header]
#include <boost/fusion/algorithm/transformation/flatten.hpp>
#include <boost/fusion/include/flatten.hpp>
[heading Example]
const __vector__<int, int, __vector__<int, int>, int> vec(1, 2, __make_vector__(3, 4), 5);
assert(__flatten__(vec) == __make_vector__(1, 2, 3, 4, 5)));
[endsect]
[endsect]
[section Metafunctions]
@ -2633,6 +2677,44 @@ Constant.
[endsect]
[section flatten]
[heading Description]
Returns the result type of __flatten__, given the input sequence type.
[heading Synopsis]
template<
typename Sequence
>
struct flatten
{
typedef __unspecified__ type;
};
[table Parameters
[[Parameter][Requirement][Description]]
[[`Sequence`][A model of __forward_sequence__][Operation's argument]]
]
[heading Expression Semantics]
__result_of_flatten__<Sequence>::type
[*Return type]:
* A model of __forward_sequence__.
[*Semantics]: Returns a sequence with all the leaf elements of `Sequence`.
[heading Complexity]
Constant.
[heading Header]
#include <boost/fusion/algorithm/transformation/flatten.hpp>
#include <boost/fusion/include/flatten.hpp>
[endsect]
[endsect]
[endsect]

View File

@ -1007,11 +1007,11 @@ Example:
int i; char c; double d;
...
__vector_tie__(i, c, a);
__vector_tie__(i, c, d);
The __vector_tie__ function creates a __vector__ of type
`__vector__<int&, char&, double&>`. The same result could be achieved with the call
__make_vector__(__boost_ref_call__(i), __boost_ref_call__(c), __boost_ref_call__(a))
__make_vector__(__boost_ref_call__(i), __boost_ref_call__(c), __boost_ref_call__(d))
[footnote see __boost_ref__ for details about `ref`].
A /tie/ can be used to 'unpack' another tuple into variables. E.g.:

View File

@ -131,6 +131,7 @@
[def __transform_view__ [link fusion.view.transform_view `transform_view`]]
[def __reverse_view__ [link fusion.view.reverse_view `reverse_view`]]
[def __zip_view__ [link fusion.view.zip_view `zip_view`]]
[def __flatten_view__ [link fusion.view.flatten_view `flatten_view`]]
[def __array__ [link fusion.adapted.array array]]
[def __std_pair__ [link fusion.adapted.std__pair `std::pair`]]
@ -288,6 +289,8 @@
[def __result_of_push_back__ [link fusion.algorithm.transformation.metafunctions.push_back `result_of::push_back`]]
[def __push_front__ [link fusion.algorithm.transformation.functions.push_front `push_front`]]
[def __result_of_push_front__ [link fusion.algorithm.transformation.metafunctions.push_front `result_of::push_front`]]
[def __flatten__ [link fusion.algorithm.transformation.functions.flatten `flatten`]]
[def __result_of_flatten__ [link fusion.algorithm.transformation.metafunctions.flatten `result_of::flatten`]]
[def __tr1_tuple_pair__ [link fusion.tuple.pairs `TR1 and std::pair`]]
[def __tuple_get__ [link fusion.tuple.class_template_tuple.element_access `get`]]

0
doc/html/images/alert.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 603 B

After

Width:  |  Height:  |  Size: 603 B

0
doc/html/images/home.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 358 B

0
doc/html/images/next.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 336 B

After

Width:  |  Height:  |  Size: 336 B

0
doc/html/images/note.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 658 B

After

Width:  |  Height:  |  Size: 658 B

0
doc/html/images/prev.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 334 B

0
doc/html/images/smiley.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 867 B

After

Width:  |  Height:  |  Size: 867 B

0
doc/html/images/tip.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 640 B

After

Width:  |  Height:  |  Size: 640 B

0
doc/html/images/up.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 370 B

After

Width:  |  Height:  |  Size: 370 B

View File

@ -549,7 +549,6 @@ of the original Fusion __sequence__
[endsect]
[section repetitive_view]
[heading Description]
@ -615,4 +614,58 @@ printing a `repetitive_view` to `std::cout` is not.
[endsect]
[section flatten_view]
[heading Description]
`flatten_view` presents a view which iterates over its elements recursively in depth-first order.
[heading Header]
#include <boost/fusion/view/flatten_view.hpp>
#include <boost/fusion/include/flatten_view.hpp>
[heading Synopsis]
template <typename Sequence>
struct flatten_view;
[heading Template parameters]
[table
[[Parameter] [Description] [Default]]
[[`Sequence`] [A __forward_sequence__] []]
]
[heading Model of]
* __forward_sequence__
[variablelist Notation
[[`F`] [A `flatten_view` type]]
[[`s`] [An instance of `Sequence`]]
[[`f`, `f2`] [Instances of `F`]]
]
[heading Expression Semantics]
Semantics of an expression is defined only where it differs from, or is not
defined in __forward_sequence__.
[table
[[Expression] [Semantics]]
[[`F(s)`] [Creates a `flatten_view` given sequence, `s`.]]
[[`F(f)`] [Copy constructs a `flatten_view` from another `flatten_view`, `f`.]]
[[`f = f2`] [Assigns to a `flatten_view`, `f`, from another `flatten_view`, `f2`.]]
]
[heading Example]
typedef __vector__<int, int, __vector__<int, int>, int> sequence_type;
sequence_type seq;
__flatten_view__<sequence_type> flattened(seq);
__copy__(__make_vector__(1, 2, 3, 4, 5), flattened);
assert(seq == __make_vector__(1, 2, __make_vector__(3, 4), 5));
[endsect]
[endsect]

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_ADAPTED_30122005_1420)
#define BOOST_FUSION_ADAPTED_30122005_1420
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/adt.hpp>
#include <boost/fusion/adapted/array.hpp>
#include <boost/fusion/adapted/boost_array.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_ADT_HPP
#define BOOST_FUSION_ADAPTED_ADT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp>
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
#include <boost/fusion/adapted/adt/adapt_adt_named.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_HPP
#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/empty.hpp>
#include <boost/type_traits/add_reference.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_NAMED_HPP
#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_NAMED_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
#include <boost/fusion/adapted/struct/detail/proxy_type.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_HPP
#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/tuple/elem.hpp>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_NAMED_HPP
#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_NAMED_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
#include <boost/fusion/adapted/struct/detail/proxy_type.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP
#define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/preprocessor/control/if.hpp>
#include <boost/preprocessor/seq/seq.hpp>
#include <boost/preprocessor/seq/elem.hpp>
@ -39,6 +40,7 @@
> \
{ \
template<class Val> \
BOOST_FUSION_GPU_ENABLED \
static void \
boost_fusion_adapt_adt_impl_set( \
BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj, \
@ -47,6 +49,7 @@
BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 3, ATTRIBUTE); \
} \
\
BOOST_FUSION_GPU_ENABLED \
static BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) \
boost_fusion_adapt_adt_impl_get( \
BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj) \
@ -54,6 +57,7 @@
return BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 2, ATTRIBUTE); \
} \
\
BOOST_FUSION_GPU_ENABLED \
static BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE) \
boost_fusion_adapt_adt_impl_get( \
BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& obj) \
@ -73,12 +77,14 @@
{ \
typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE) type; \
\
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< \
@ -87,6 +93,7 @@
>::boost_fusion_adapt_adt_impl_get(*obj); \
} \
\
BOOST_FUSION_GPU_ENABLED \
operator type() const \
{ \
return get(); \
@ -106,6 +113,7 @@
{ \
typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) type; \
\
BOOST_FUSION_GPU_ENABLED \
explicit \
adt_attribute_proxy( \
BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& o) \
@ -113,6 +121,7 @@
{} \
\
template<class Val> \
BOOST_FUSION_GPU_ENABLED \
adt_attribute_proxy& \
operator=(Val const& val) \
{ \
@ -123,6 +132,7 @@
return *this; \
} \
\
BOOST_FUSION_GPU_ENABLED \
type get() const \
{ \
return access::adt_attribute_access< \
@ -131,6 +141,7 @@
>::boost_fusion_adapt_adt_impl_get(*obj); \
} \
\
BOOST_FUSION_GPU_ENABLED \
operator type() const \
{ \
return get(); \
@ -170,6 +181,7 @@
> \
type; \
\
BOOST_FUSION_GPU_ENABLED \
static type \
call(Seq& obj) \
{ \

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_ADT_DETAIL_EXTENSION_HPP
#define BOOST_FUSION_ADAPTED_ADT_DETAIL_EXTENSION_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/fusion/support/as_const.hpp>
@ -29,6 +30,7 @@ namespace boost { namespace fusion
{
// Overload as_const() to unwrap adt_attribute_proxy.
template <typename T, int N, bool Const>
BOOST_FUSION_GPU_ENABLED
typename adt_attribute_proxy<T, N, Const>::type as_const(const adt_attribute_proxy<T, N, Const>& proxy)
{
return proxy.get();

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/add_reference.hpp>
#include <boost/type_traits/remove_extent.hpp>
@ -26,6 +27,7 @@ namespace boost { namespace fusion { namespace extension
add_reference<typename remove_extent<Seq>::type>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/basic_iterator.hpp>
namespace boost { namespace fusion { namespace extension
@ -30,6 +31,7 @@ namespace boost { namespace fusion { namespace extension
>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/add_reference.hpp>
#include <boost/type_traits/remove_extent.hpp>
@ -28,6 +29,7 @@ namespace boost { namespace fusion { namespace extension
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(It const& it)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/basic_iterator.hpp>
#include <boost/type_traits/rank.hpp>
#include <boost/type_traits/extent.hpp>
@ -32,6 +33,7 @@ namespace boost { namespace fusion { namespace extension
>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/rank.hpp>
#include <boost/type_traits/extent.hpp>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/tag_of_fwd.hpp>
#include <cstddef>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/remove_extent.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP
#define BOOST_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/remove_extent.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_BOOST_ARRAY_27122005_1035)
#define BOOST_FUSION_BOOST_ARRAY_27122005_1035
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/boost_array/array_iterator.hpp>
#include <boost/fusion/adapted/boost_array/tag_of.hpp>
#include <boost/fusion/adapted/boost_array/detail/is_view_impl.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_ARRAY_ITERATOR_26122005_2250)
#define BOOST_FUSION_ARRAY_ITERATOR_26122005_2250
#include <boost/fusion/support/config.hpp>
#include <cstddef>
#include <boost/config.hpp>
#include <boost/mpl/int.hpp>
@ -31,6 +32,7 @@ namespace boost { namespace fusion
typedef mpl::int_<Pos> index;
typedef Array array_type;
BOOST_FUSION_GPU_ENABLED
array_iterator(Array& a)
: array(a) {}
@ -55,6 +57,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const & it)
{
@ -69,6 +72,7 @@ namespace boost { namespace fusion
typedef typename Iterator::array_type array_type;
typedef array_iterator<array_type, index::value + N::value> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{
@ -91,6 +95,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(I1 const&, I2 const&)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_AT_IMPL_27122005_1241)
#define BOOST_FUSION_AT_IMPL_27122005_1241
#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/mpl/if.hpp>
@ -32,6 +33,7 @@ namespace boost { namespace fusion {
typename Sequence::const_reference,
typename Sequence::reference>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& seq)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_BEGIN_IMPL_27122005_1117)
#define BOOST_FUSION_BEGIN_IMPL_27122005_1117
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/boost_array/array_iterator.hpp>
namespace boost { namespace fusion {
@ -27,6 +28,7 @@ namespace boost { namespace fusion {
{
typedef array_iterator<Sequence, 0> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& v)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044)
#define BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044
#include <boost/fusion/support/config.hpp>
#include <boost/config/no_tr1/utility.hpp>
namespace boost { namespace fusion {

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_END_IMPL_27122005_1120)
#define BOOST_FUSION_END_IMPL_27122005_1120
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/boost_array/array_iterator.hpp>
namespace boost { namespace fusion {
@ -27,6 +28,7 @@ namespace boost { namespace fusion {
{
typedef array_iterator<Sequence, Sequence::static_size> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& v)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648)
#define BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion {

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_IS_VIEW_IMPL_27042006_2221)
#define BOOST_FUSION_IS_VIEW_IMPL_27042006_2221
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(FUSION_SEQUENCE_TAG_OF_27122005_1030)
#define FUSION_SEQUENCE_TAG_OF_27122005_1030
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/tag_of_fwd.hpp>
#include <cstddef>

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_BOOST_TUPLE_09272006_0732)
#define BOOST_FUSION_BOOST_TUPLE_09272006_0732
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/boost_tuple/tag_of.hpp>
#include <boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp>
#include <boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_BOOST_TUPLE_ITERATOR_09262006_1851)
#define FUSION_BOOST_TUPLE_ITERATOR_09262006_1851
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/iterator_facade.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/add_const.hpp>
@ -47,6 +48,7 @@ namespace boost { namespace fusion
{
typedef Cons cons_type;
BOOST_FUSION_GPU_ENABLED
explicit boost_tuple_iterator(Cons& in_cons)
: cons(in_cons) {}
Cons& cons;
@ -67,6 +69,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& iter)
{
@ -88,6 +91,7 @@ namespace boost { namespace fusion
>::type>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& iter)
{
@ -121,6 +125,7 @@ namespace boost { namespace fusion
lazy_next_distance<I1, I2>
>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(I1 const&, I2 const&)
{
@ -156,6 +161,7 @@ namespace boost { namespace fusion
: boost_tuple_null_iterator<tuples::null_type>
{
template <typename Cons>
BOOST_FUSION_GPU_ENABLED
explicit boost_tuple_iterator(Cons const&) {}
};
@ -164,6 +170,7 @@ namespace boost { namespace fusion
: boost_tuple_null_iterator<tuples::null_type const>
{
template <typename Cons>
BOOST_FUSION_GPU_ENABLED
explicit boost_tuple_iterator(Cons const&) {}
};
@ -172,6 +179,7 @@ namespace boost { namespace fusion
: boost_tuple_null_iterator<tuples::tuple<> >
{
template <typename Cons>
BOOST_FUSION_GPU_ENABLED
explicit boost_tuple_iterator(Cons const&) {}
};
@ -180,6 +188,7 @@ namespace boost { namespace fusion
: boost_tuple_null_iterator<tuples::tuple<> const>
{
template <typename Cons>
BOOST_FUSION_GPU_ENABLED
explicit boost_tuple_iterator(Cons const&) {}
};
}}

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_AT_IMPL_09262006_1920)
#define BOOST_FUSION_AT_IMPL_09262006_1920
#include <boost/fusion/support/config.hpp>
#include <boost/tuple/tuple.hpp>
#include <boost/mpl/if.hpp>
@ -37,6 +38,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& seq)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_BEGIN_IMPL_09272006_0719)
#define BOOST_FUSION_BEGIN_IMPL_09272006_0719
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp>
namespace boost { namespace fusion
@ -26,6 +27,7 @@ namespace boost { namespace fusion
{
typedef boost_tuple_iterator<Sequence> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& v)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_END_IMPL_09272006_0721)
#define BOOST_FUSION_END_IMPL_09272006_0721
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp>
#include <boost/mpl/if.hpp>
#include <boost/type_traits/is_const.hpp>
@ -41,6 +42,7 @@ namespace boost { namespace fusion
>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& seq)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726)
#define BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_IS_VIEW_IMPL_09272006_0725)
#define BOOST_FUSION_IS_VIEW_IMPL_09272006_0725
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SIZE_IMPL_09272006_0724)
#define BOOST_FUSION_SIZE_IMPL_09272006_0724
#include <boost/fusion/support/config.hpp>
#include <boost/tuple/tuple.hpp>
#include <boost/mpl/int.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_VALUE_AT_IMPL_09262006_1926)
#define BOOST_FUSION_VALUE_AT_IMPL_09262006_1926
#include <boost/fusion/support/config.hpp>
#include <boost/tuple/tuple.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_TAG_OF_09262006_1900)
#define BOOST_FUSION_TAG_OF_09262006_1900
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/tag_of_fwd.hpp>
namespace boost { namespace tuples

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_MPL_31122005_1152)
#define BOOST_FUSION_MPL_31122005_1152
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/mpl/detail/begin_impl.hpp>
#include <boost/fusion/adapted/mpl/detail/end_impl.hpp>
#include <boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_AT_IMPL_31122005_1642)
#define BOOST_FUSION_AT_IMPL_31122005_1642
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/at.hpp>
namespace boost { namespace fusion
@ -27,6 +28,7 @@ namespace boost { namespace fusion
{
typedef typename mpl::at<Sequence, N>::type type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_BEGIN_IMPL_31122005_1209)
#define BOOST_FUSION_BEGIN_IMPL_31122005_1209
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
#include <boost/mpl/begin.hpp>
#include <boost/type_traits/remove_const.hpp>
@ -32,6 +33,7 @@ namespace boost { namespace fusion {
>::type iterator;
typedef mpl_iterator<iterator> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141)
#define BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/detail/mpl_iterator_category.hpp>
#include <boost/mpl/begin_end.hpp>
#include <boost/mpl/is_sequence.hpp>

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_EMPTY_IMPL_31122005_1554)
#define BOOST_FUSION_EMPTY_IMPL_31122005_1554
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/empty.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_END_IMPL_31122005_1237)
#define BOOST_FUSION_END_IMPL_31122005_1237
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
#include <boost/mpl/end.hpp>
#include <boost/type_traits/add_const.hpp>
@ -32,6 +33,7 @@ namespace boost { namespace fusion
>::type iterator;
typedef mpl_iterator<iterator> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence)
{

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_HAS_KEY_IMPL_31122005_1647)
#define BOOST_FUSION_HAS_KEY_IMPL_31122005_1647
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/has_key.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505)
#define BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_IS_VIEW_IMPL_03202006_0048)
#define BOOST_FUSION_IS_VIEW_IMPL_03202006_0048
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SIZE_IMPL_31122005_1508)
#define BOOST_FUSION_SIZE_IMPL_31122005_1508
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/size.hpp>
namespace boost { namespace fusion

View File

@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_VALUE_AT_IMPL_31122005_1621)
#define BOOST_FUSION_VALUE_AT_IMPL_31122005_1621
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/at.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_MPL_ITERATOR_05052005_0731)
#define FUSION_MPL_ITERATOR_05052005_0731
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/detail/mpl_iterator_category.hpp>
#include <boost/fusion/iterator/iterator_facade.hpp>
#include <boost/type_traits/remove_const.hpp>
@ -37,6 +38,7 @@ namespace boost { namespace fusion
typename Iterator::iterator_type>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator)
{
@ -51,6 +53,7 @@ namespace boost { namespace fusion
typename mpl::next<typename Iterator::iterator_type>::type>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator)
{
@ -65,6 +68,7 @@ namespace boost { namespace fusion
typename mpl::prior<typename Iterator::iterator_type>::type>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator)
{
@ -79,6 +83,7 @@ namespace boost { namespace fusion
typename mpl::advance<typename Iterator::iterator_type, N>::type>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& /*i*/)
{
@ -99,6 +104,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(I1 const&, I2 const&)
{

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STD_PAIR_HPP
#define BOOST_FUSION_ADAPTED_STD_PAIR_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <utility>

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_BOOST_TUPLE_09242011_1744)
#define BOOST_FUSION_BOOST_TUPLE_09242011_1744
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp>
#include <boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp>
#include <boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_AT_IMPL_09242011_1744)
#define BOOST_FUSION_AT_IMPL_09242011_1744
#include <boost/fusion/support/config.hpp>
#include <tuple>
#include <utility>
#include <boost/mpl/if.hpp>
@ -39,6 +40,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& seq)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_BEGIN_IMPL_09242011_1744)
#define BOOST_FUSION_BEGIN_IMPL_09242011_1744
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp>
namespace boost { namespace fusion
@ -26,6 +27,7 @@ namespace boost { namespace fusion
{
typedef std_tuple_iterator<Sequence, 0> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& v)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_END_IMPL_09242011_1744)
#define BOOST_FUSION_END_IMPL_09242011_1744
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <tuple>
@ -30,6 +31,7 @@ namespace boost { namespace fusion
static int const size = std::tuple_size<seq_type>::value;
typedef std_tuple_iterator<Sequence, size> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& v)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_09242011_1744)
#define BOOST_FUSION_IS_SEQUENCE_IMPL_09242011_1744
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_IS_VIEW_IMPL_09242011_1744)
#define BOOST_FUSION_IS_VIEW_IMPL_09242011_1744
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SIZE_IMPL_09242011_1744)
#define BOOST_FUSION_SIZE_IMPL_09242011_1744
#include <boost/fusion/support/config.hpp>
#include <tuple>
#include <boost/mpl/int.hpp>
#include <boost/type_traits/remove_const.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_VALUE_AT_IMPL_09242011_1744)
#define BOOST_FUSION_VALUE_AT_IMPL_09242011_1744
#include <boost/fusion/support/config.hpp>
#include <tuple>
namespace boost { namespace fusion

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_STD_TUPLE_ITERATOR_09112011_1905)
#define FUSION_STD_TUPLE_ITERATOR_09112011_1905
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/iterator_facade.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/remove_const.hpp>
@ -35,7 +36,7 @@ namespace boost { namespace fusion
typename add_const<Tuple>::type, Index>
identity;
explicit std_tuple_iterator(Tuple& tuple)
BOOST_FUSION_GPU_ENABLED explicit std_tuple_iterator(Tuple& tuple)
: tuple(tuple) {}
Tuple& tuple;
@ -57,6 +58,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& iter)
{
@ -71,6 +73,7 @@ namespace boost { namespace fusion
typedef typename Iterator::tuple_type tuple_type;
typedef std_tuple_iterator<tuple_type, index+N::value> type;
BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{
@ -93,6 +96,7 @@ namespace boost { namespace fusion
{
typedef mpl::int_<Last::index-First::index> type;
BOOST_FUSION_GPU_ENABLED
static type
call(First const&, Last const&)
{

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_TAG_OF_09112011_1842)
#define BOOST_FUSION_TAG_OF_09112011_1842
#include <boost/fusion/support/config.hpp>
#include <tuple>
#include <boost/fusion/support/tag_of_fwd.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp>
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
#include <boost/fusion/adapted/struct/adapt_struct_named.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/tuple/elem.hpp>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
#include <boost/fusion/adapted/struct/detail/proxy_type.hpp>

View File

@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/empty.hpp>
#include <boost/type_traits/add_reference.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/fusion/adapted/struct/detail/proxy_type.hpp>
#include <boost/preprocessor/empty.hpp>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_ASSOC_STRUCT_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_ASSOC_STRUCT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
#include <boost/fusion/adapted/struct/detail/define_struct.hpp>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/fusion/adapted/struct/detail/define_struct.hpp>

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_INLINE_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_INLINE_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/fusion/adapted/struct/detail/define_struct_inline.hpp>

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/config.hpp>
#include <boost/fusion/support/tag_of_fwd.hpp>
@ -137,6 +138,7 @@
>::type \
type; \
\
BOOST_FUSION_GPU_ENABLED \
static type \
call(Seq& seq) \
{ \
@ -156,6 +158,7 @@
{ \
typedef char const* type; \
\
BOOST_FUSION_GPU_ENABLED \
static type \
call() \
{ \

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/basic_iterator.hpp>
namespace boost { namespace fusion { namespace extension
@ -32,6 +33,7 @@ namespace boost { namespace fusion { namespace extension
>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{
@ -55,6 +57,7 @@ namespace boost { namespace fusion { namespace extension
>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/iterator/deref.hpp>
@ -61,6 +62,7 @@
ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
template<typename Seq> \
BOOST_FUSION_GPU_ENABLED \
self_type& \
operator=(Seq const& seq) \
{ \
@ -119,6 +121,7 @@
ATTRIBUTE_TUPEL_SIZE, \
ATTRIBUTES_SEQ) \
\
BOOST_FUSION_GPU_ENABLED \
NAME() \
: BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \
@ -127,6 +130,7 @@
ATTRIBUTES_SEQ) \
{} \
\
BOOST_FUSION_GPU_ENABLED \
NAME(self_type const& other_self) \
: BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \
@ -136,6 +140,7 @@
{} \
\
template<typename Seq> \
BOOST_FUSION_GPU_ENABLED \
NAME(Seq const& seq \
BOOST_PP_IF( \
BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \
@ -155,6 +160,7 @@
#define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
BOOST_FUSION_GPU_ENABLED \
explicit \
NAME(boost::call_traits< \
BOOST_PP_TUPLE_ELEM( \
@ -167,6 +173,7 @@
#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \
TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
BOOST_FUSION_GPU_ENABLED \
explicit \
NAME(typename boost::call_traits< \
typename boost::fusion::detail::get_first_arg< \
@ -203,6 +210,7 @@
#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \
TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
BOOST_FUSION_GPU_ENABLED \
NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \
BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \
@ -230,6 +238,7 @@
#define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
BOOST_FUSION_GPU_ENABLED \
NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
1, \
BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \
@ -271,10 +280,12 @@
NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
template<typename Seq> \
BOOST_FUSION_GPU_ENABLED \
NAME(Seq const&) \
{} \
\
template<typename Seq> \
BOOST_FUSION_GPU_ENABLED \
self_type& \
operator=(Seq const& seq) \
{ \

View File

@ -8,6 +8,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEFINE_STRUCT_INLINE_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEFINE_STRUCT_INLINE_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/config.hpp>
#include <boost/fusion/support/category_of.hpp>
#include <boost/fusion/sequence/sequence_facade.hpp>
@ -112,6 +113,7 @@
struct deref<SPEC_TYPE, N> > \
{ \
typedef typename boost_fusion_detail_Sq::t##N##_type TYPE_QUAL& type; \
BOOST_FUSION_GPU_ENABLED \
static type call(CALL_ARG_TYPE, N> const& iter) \
{ \
return iter.seq_.BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \
@ -161,6 +163,7 @@
typename boost_fusion_detail_Sq::t##N##_type& \
>::type type; \
\
BOOST_FUSION_GPU_ENABLED \
static type call(boost_fusion_detail_Sq& sq) \
{ \
return sq. BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \
@ -205,6 +208,7 @@
result_raw_type \
>::type type; \
\
BOOST_FUSION_GPU_ENABLED \
static type call(iterator_raw_type const& iter) \
{ \
return boost::fusion::at_c<index>(iter.ref_vec); \
@ -332,6 +336,7 @@
typedef boost::mpl::int_<N> 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( \
@ -354,6 +359,7 @@
boost_fusion_detail_It::index::value + 1 \
> type; \
\
BOOST_FUSION_GPU_ENABLED \
static type call(boost_fusion_detail_It const& it) \
{ \
return type(it.seq_); \
@ -368,6 +374,7 @@
boost_fusion_detail_It::index::value - 1 \
> type; \
\
BOOST_FUSION_GPU_ENABLED \
static type call(boost_fusion_detail_It const& it) \
{ \
return type(it.seq_); \
@ -385,6 +392,7 @@
typename boost_fusion_detail_It1::index \
>::type type; \
\
BOOST_FUSION_GPU_ENABLED \
static type call(boost_fusion_detail_It1 const& it1, \
boost_fusion_detail_It2 const& it2) \
{ \
@ -404,6 +412,7 @@
+ boost_fusion_detail_M::value \
> type; \
\
BOOST_FUSION_GPU_ENABLED \
static type call(boost_fusion_detail_It const& it) \
{ \
return type(it.seq_); \
@ -436,12 +445,14 @@
(NAME, ATTRIBUTES_SEQ) \
\
template <typename boost_fusion_detail_Seq> \
BOOST_FUSION_GPU_ENABLED \
NAME(const boost_fusion_detail_Seq& rhs) \
{ \
boost::fusion::copy(rhs, *this); \
} \
\
template <typename boost_fusion_detail_Seq> \
BOOST_FUSION_GPU_ENABLED \
NAME& operator=(const boost_fusion_detail_Seq& rhs) \
{ \
boost::fusion::copy(rhs, *this); \
@ -454,6 +465,7 @@
typedef BOOST_FUSION_ITERATOR_NAME(NAME)<boost_fusion_detail_Sq, 0> \
type; \
\
BOOST_FUSION_GPU_ENABLED \
static type call(boost_fusion_detail_Sq& sq) \
{ \
return type(sq); \
@ -468,6 +480,7 @@
ATTRIBUTES_SEQ_SIZE \
> type; \
\
BOOST_FUSION_GPU_ENABLED \
static type call(boost_fusion_detail_Sq& sq) \
{ \
return type(sq); \

View File

@ -28,6 +28,7 @@ namespace boost { namespace fusion { namespace extension
typedef typename impl::type type;
BOOST_FUSION_GPU_ENABLED
static
type
call(It const& it)

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/basic_iterator.hpp>
namespace boost { namespace fusion { namespace extension
@ -32,6 +33,7 @@ namespace boost { namespace fusion { namespace extension
>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{
@ -55,6 +57,7 @@ namespace boost { namespace fusion { namespace extension
>
type;
BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/category_of.hpp>
namespace boost { namespace fusion

View File

@ -10,6 +10,7 @@
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
namespace boost { namespace fusion { namespace extension

View File

@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_NAMESPACE_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_NAMESPACE_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/preprocessor/dec.hpp>
#include <boost/preprocessor/control/if.hpp>
#include <boost/preprocessor/seq/seq.hpp>

View File

@ -9,6 +9,7 @@
#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_PROXY_TYPE_HPP
#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_PROXY_TYPE_HPP
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/struct/detail/namespace.hpp>
#define BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
@ -18,6 +19,7 @@
\
struct NAME \
{ \
BOOST_FUSION_GPU_ENABLED \
NAME(WRAPPED_TYPE& in_obj) \
: obj(in_obj) \
{} \

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_ALGORITHM_10022005_0549)
#define FUSION_ALGORITHM_10022005_0549
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/algorithm/iteration.hpp>
#include <boost/fusion/algorithm/query.hpp>
#include <boost/fusion/algorithm/transformation.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_ALGORITHM_AUXILIARY_02192011_0907)
#define FUSION_ALGORITHM_AUXILIARY_02192011_0907
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/algorithm/auxiliary/copy.hpp>
#endif

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_COPY_02162011_2308)
#define FUSION_COPY_02162011_2308
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@ -33,12 +34,14 @@ namespace boost { namespace fusion
typedef typename result_of::end<Seq2>::type end2_type;
template <typename I1, typename I2>
BOOST_FUSION_GPU_ENABLED
static void
call(I1 const&, I2 const&, mpl::true_)
{
}
template <typename I1, typename I2>
BOOST_FUSION_GPU_ENABLED
static void
call(I1 const& src, I2 const& dest, mpl::false_)
{
@ -47,6 +50,7 @@ namespace boost { namespace fusion
}
template <typename I1, typename I2>
BOOST_FUSION_GPU_ENABLED
static void
call(I1 const& src, I2 const& dest)
{
@ -57,6 +61,7 @@ namespace boost { namespace fusion
}
template <typename Seq1, typename Seq2>
BOOST_FUSION_GPU_ENABLED
inline
typename
enable_if_c<

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_MOVE_01192013_2225)
#define FUSION_MOVE_01192013_2225
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@ -33,12 +34,14 @@ namespace boost { namespace fusion
typedef typename result_of::end<Seq2>::type end2_type;
template <typename I1, typename I2>
BOOST_FUSION_GPU_ENABLED
static void
call(I1 const&, I2 const&, mpl::true_)
{
}
template <typename I1, typename I2>
BOOST_FUSION_GPU_ENABLED
static void
call(I1 const& src, I2 const& dest, mpl::false_)
{
@ -47,6 +50,7 @@ namespace boost { namespace fusion
}
template <typename I1, typename I2>
BOOST_FUSION_GPU_ENABLED
static void
call(I1 const& src, I2 const& dest)
{
@ -57,6 +61,7 @@ namespace boost { namespace fusion
}
template <typename Seq1, typename Seq2>
BOOST_FUSION_GPU_ENABLED
inline
typename
enable_if_c<

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_ALGORITHM_ITERATION_10022005_0549)
#define FUSION_ALGORITHM_ITERATION_10022005_0549
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/algorithm/iteration/accumulate.hpp>
#include <boost/fusion/algorithm/iteration/fold.hpp>
#include <boost/fusion/algorithm/iteration/for_each.hpp>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_ACCUMULATE_09172005_1032)
#define FUSION_ACCUMULATE_09172005_1032
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/algorithm/iteration/accumulate_fwd.hpp>
#include <boost/fusion/algorithm/iteration/fold.hpp>
#include <boost/fusion/support/is_sequence.hpp>
@ -25,6 +26,7 @@ namespace boost { namespace fusion
}
template <typename Sequence, typename State, typename F>
BOOST_FUSION_GPU_ENABLED
inline
typename
lazy_enable_if<
@ -37,6 +39,7 @@ namespace boost { namespace fusion
}
template <typename Sequence, typename State, typename F>
BOOST_FUSION_GPU_ENABLED
inline
typename
lazy_enable_if<

View File

@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED)
#define BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/is_sequence.hpp>
#include <boost/utility/enable_if.hpp>
@ -19,6 +20,7 @@ namespace boost { namespace fusion
}
template <typename Sequence, typename State, typename F>
BOOST_FUSION_GPU_ENABLED
typename
lazy_enable_if<
traits::is_sequence<Sequence>
@ -27,6 +29,7 @@ namespace boost { namespace fusion
accumulate(Sequence& seq, State const& state, F f);
template <typename Sequence, typename State, typename F>
BOOST_FUSION_GPU_ENABLED
typename
lazy_enable_if<
traits::is_sequence<Sequence>

View File

@ -58,6 +58,7 @@ namespace boost { namespace fusion
struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)
{
template<typename State, typename It0, typename F>
BOOST_FUSION_GPU_ENABLED
static Result
call(State const& state,It0 const& it0,F f)
{
@ -103,6 +104,7 @@ namespace boost { namespace fusion
struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)<Result,3>
{
template<typename State, typename It0, typename F>
BOOST_FUSION_GPU_ENABLED
static Result
call(State const& state,It0 const& it0,F f)
{
@ -133,6 +135,7 @@ namespace boost { namespace fusion
struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)<Result,2>
{
template<typename State, typename It0, typename F>
BOOST_FUSION_GPU_ENABLED
static Result
call(State const& state,It0 const& it0,F f)
{
@ -150,6 +153,7 @@ namespace boost { namespace fusion
struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)<Result,1>
{
template<typename State, typename It0, typename F>
BOOST_FUSION_GPU_ENABLED
static Result
call(State const& state,It0 const& it0,F f)
{
@ -162,8 +166,9 @@ namespace boost { namespace fusion
struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)<Result,0>
{
template<typename State, typename It0, typename F>
BOOST_FUSION_GPU_ENABLED
static Result
call(State const& state,It0 const& it0, F)
call(State const& state,It0 const&, F)
{
return static_cast<Result>(state);
}
@ -340,6 +345,7 @@ namespace boost { namespace fusion
>::type
type;
BOOST_FUSION_GPU_ENABLED
static type
call(StateRef state, Seq& seq, F f)
{
@ -363,6 +369,7 @@ namespace boost { namespace fusion
{
typedef StateRef type;
BOOST_FUSION_GPU_ENABLED
static StateRef
call(StateRef state, Seq&, F)
{
@ -397,6 +404,7 @@ namespace boost { namespace fusion
}
template<typename Seq, typename State, typename F>
BOOST_FUSION_GPU_ENABLED
inline typename result_of::BOOST_FUSION_FOLD_NAME<
Seq
, State const
@ -411,6 +419,7 @@ namespace boost { namespace fusion
}
template<typename Seq, typename State, typename F>
BOOST_FUSION_GPU_ENABLED
inline typename result_of::BOOST_FUSION_FOLD_NAME<
Seq const
, State const
@ -425,6 +434,7 @@ namespace boost { namespace fusion
}
template<typename Seq, typename State, typename F>
BOOST_FUSION_GPU_ENABLED
inline typename result_of::BOOST_FUSION_FOLD_NAME<
Seq
, State const
@ -439,6 +449,7 @@ namespace boost { namespace fusion
}
template<typename Seq, typename State, typename F>
BOOST_FUSION_GPU_ENABLED
inline typename result_of::BOOST_FUSION_FOLD_NAME<
Seq const
, State const

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_FOR_EACH_05052005_1028)
#define FUSION_FOR_EACH_05052005_1028
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
@ -20,12 +21,14 @@ namespace boost { namespace fusion {
namespace detail
{
template <typename First, typename Last, typename F>
BOOST_FUSION_GPU_ENABLED
inline void
for_each_linear(First const&, Last const&, F const&, mpl::true_)
{
}
template <typename First, typename Last, typename F>
BOOST_FUSION_GPU_ENABLED
inline void
for_each_linear(First const& first, Last const& last, F const& f, mpl::false_)
{
@ -36,6 +39,7 @@ namespace detail
template <typename Sequence, typename F, typename Tag>
BOOST_FUSION_GPU_ENABLED
inline void
for_each_dispatch(Sequence& seq, F const& f, Tag)
{
@ -52,6 +56,7 @@ namespace detail
struct for_each_unrolled
{
template<typename I0, typename F>
BOOST_FUSION_GPU_ENABLED
static void call(I0 const& i0, F const& f)
{
f(*i0);
@ -72,6 +77,7 @@ namespace detail
struct for_each_unrolled<3>
{
template<typename I0, typename F>
BOOST_FUSION_GPU_ENABLED
static void call(I0 const& i0, F const& f)
{
f(*i0);
@ -88,6 +94,7 @@ namespace detail
struct for_each_unrolled<2>
{
template<typename I0, typename F>
BOOST_FUSION_GPU_ENABLED
static void call(I0 const& i0, F const& f)
{
f(*i0);
@ -101,6 +108,7 @@ namespace detail
struct for_each_unrolled<1>
{
template<typename I0, typename F>
BOOST_FUSION_GPU_ENABLED
static void call(I0 const& i0, F const& f)
{
f(*i0);
@ -111,12 +119,14 @@ namespace detail
struct for_each_unrolled<0>
{
template<typename It, typename F>
BOOST_FUSION_GPU_ENABLED
static void call(It const&, F const&)
{
}
};
template <typename Sequence, typename F>
BOOST_FUSION_GPU_ENABLED
inline void
for_each_dispatch(Sequence& seq, F const& f, random_access_traversal_tag)
{
@ -126,6 +136,7 @@ namespace detail
}
template <typename Sequence, typename F>
BOOST_FUSION_GPU_ENABLED
inline void
for_each(Sequence& seq, F const& f, mpl::false_) // unsegmented implementation
{

Some files were not shown because too many files have changed in this diff Show More