Compare commits

...

1252 Commits

Author SHA1 Message Date
09f53833cc Rework as esp-idf component 2023-11-23 17:17:05 +01:00
6ee2b188ef [transform_view_ext] Unary transform_view is an Associative Sequence now 2022-09-26 11:41:12 +08:00
03500e4fd3 [transform_view_ext] Updated docs 2022-09-26 11:41:12 +08:00
3c82db82df Merge branch 'develop' 2022-09-26 11:40:31 +08:00
287ca90947 Merge branch 'develop' 2022-09-26 11:40:31 +08:00
6191e9763a Merge remote-tracking branch 'origin/master' 2022-09-26 10:55:17 +08:00
14c22945cc Merge branch 'develop' 2022-09-26 10:54:48 +08:00
a19d919f7b develop from master again (#260)
* Added functional dependency to master

* Revert "Added functional dependency to master"

* Merge branch 'develop'

* Merge branch 'develop'

* Update view.qbk

* Update appveyor.yml

* Update appveyor.yml

* Update appveyor.yml

* [transform_view_ext] Updated docs

* [transform_view_ext] Unary transform_view is an Associative Sequence now

* [identity_view] Added boost::fusion::identity_view

* Update identity_view.cpp

* Update identity_view.cpp

* [identity_view] Fix for spoiled prvalue

* Update reverse_view.cpp

* Update reverse_view.cpp

* Applied fixes for reverse_view

* Fixed all '*_data' methods in reverse_view

* Diff simplified && update copyrights

* [githubactions] Fixed CI

* Fix Clang 13 `-Wdeprecated-copy` warnings

Clang 13 have new warning under the same group

* [githubactions] Fixed reverse_view test for C++03

* deref_data_impl.hpp: fix missing includes

Co-authored-by: Denis Mikhailov <denismikhaylov38@gmail.com>
Co-authored-by: Nikita Kniazev <nok.raven@gmail.com>
2022-09-26 10:43:24 +08:00
9a65c81640 Merge branch 'develop' 2022-09-26 10:41:11 +08:00
1c858a5fdc Merge branch 'master' into develop 2022-09-26 10:38:15 +08:00
3c749cbf49 Merge branch 'develop' 2022-09-26 10:22:37 +08:00
4c4d2ad66c Merge branch 'master' into develop 2022-09-26 08:59:02 +08:00
63727a3f16 Merge pull request #257 from Kojoley/deprecated-copy-again
Fix Clang 13 `-Wdeprecated-copy` warnings
2022-09-26 08:56:30 +08:00
bbddc4f10a Merge pull request #245 from denzor200/githubactions
Extended CI && Fixed test for C++03
2022-09-26 08:56:30 +08:00
22be72a3c5 deref_data_impl.hpp: fix missing includes 2022-09-26 08:56:30 +08:00
9a2f490130 [githubactions] Fixed reverse_view test for C++03 2022-09-26 08:56:30 +08:00
90721d48e9 Fix Clang 13 -Wdeprecated-copy warnings
Clang 13 have new warning under the same group
2022-09-26 08:56:30 +08:00
427d46e7dc [githubactions] Fixed CI 2022-09-26 08:56:30 +08:00
195a0521eb Merge remote-tracking branch 'sdarwin/githubactions' into githubactions 2022-09-26 08:56:30 +08:00
d2f9a048f7 Merge pull request #237 from denzor200/denzor200-patch-3
Fixed reverse_view
2022-09-26 08:56:10 +08:00
1a9faa6744 Diff simplified && update copyrights 2022-09-26 08:56:10 +08:00
1a16250b06 Merge remote-tracking branch 'origin/develop' into denzor200-patch-3 2022-09-26 08:56:10 +08:00
cdf26a72e9 Fixed all '*_data' methods in reverse_view 2022-09-26 08:56:10 +08:00
2a295202f7 Applied fixes for reverse_view 2022-09-26 08:56:10 +08:00
afba308e47 Update reverse_view.cpp 2022-09-26 08:55:49 +08:00
662567cb9f Update reverse_view.cpp 2022-09-26 08:55:49 +08:00
d9c89fc17c Merge pull request #240 from denzor200/identity_view
Added boost::fusion::identity_view
2022-09-26 08:55:25 +08:00
c59c1790c3 [identity_view] Fix for spoiled prvalue 2022-09-26 08:55:25 +08:00
11abd9b156 Update identity_view.cpp 2022-09-26 08:55:25 +08:00
62b45086c0 Update identity_view.cpp 2022-09-26 08:55:25 +08:00
596056930a [identity_view] Added boost::fusion::identity_view 2022-09-26 08:55:25 +08:00
41aae2c684 Merge pull request #239 from denzor200/transform_view_ext
Transform view ext
2022-09-26 08:55:10 +08:00
41fe9ba9b5 Merge pull request #236 from denzor200/denzor200-patch-2
Fixed CI
2022-09-26 08:55:10 +08:00
2aed5b1ab5 Merge branch 'boostorg:develop' into transform_view_ext 2022-09-26 08:55:10 +08:00
360dd957f2 [transform_view_ext] Unary transform_view is an Associative Sequence now 2022-09-26 08:55:10 +08:00
cc865135c9 Merge remote-tracking branch 'origin/denzor200-patch-4' into transform_view_ext
Conflicts:
	doc/view.qbk
2022-09-26 08:54:52 +08:00
c16e4f046b [transform_view_ext] Updated docs 2022-09-26 08:54:31 +08:00
58e72e74a6 Merge pull request #238 from denzor200/denzor200-patch-4
Fixed typo in the doc && less tautology
2022-09-26 08:54:12 +08:00
638855c861 Update appveyor.yml 2022-09-26 08:54:12 +08:00
cf99c66176 Update appveyor.yml 2022-09-26 08:54:12 +08:00
516a7a7add Update appveyor.yml 2022-09-26 08:54:12 +08:00
41b38d4adc Update view.qbk 2022-09-26 08:53:59 +08:00
fa5f1b7741 Merge pull request #200 from Kojoley/simplify-vector-assign_sequence
vector: Simplify assign_sequence
2022-09-26 08:53:43 +08:00
d8e3cc29da Merge branch 'master' into develop 2022-09-26 08:38:53 +08:00
af411a959c Merge branch 'develop' 2022-09-26 08:38:01 +08:00
51629ef53a Merge branch 'master' into develop 2022-09-26 08:12:29 +08:00
e79a8690f0 Merge branch 'develop' 2022-09-26 08:11:49 +08:00
8f49ff2006 Merge pull request #257 from Kojoley/deprecated-copy-again
Fix Clang 13 `-Wdeprecated-copy` warnings
2022-09-10 06:22:02 +08:00
ba320bf395 deref_data_impl.hpp: fix missing includes 2022-09-09 21:32:01 +03:00
7fe4a887ae Fix Clang 13 -Wdeprecated-copy warnings
Clang 13 have new warning under the same group
2022-09-08 21:29:55 +03:00
6539567952 Merge pull request #255 from boostorg/revert-251-patch-2
Revert "Added functional dependency to master"
2022-07-15 09:58:22 +08:00
6b2a3b96ac Revert "Added functional dependency to master" 2022-07-15 09:56:21 +08:00
499c66537b Merge pull request #251 from denzor200/patch-2
Added functional dependency to master
2022-07-04 18:31:01 +08:00
37ed70fc43 Merge pull request #250 from denzor200/patch-1
Added functional dependency to develop
2022-07-04 18:30:41 +08:00
5d78322e16 Added functional dependency to master 2022-07-04 16:26:07 +06:00
283d1a62c4 Added functional dependency to develop 2022-07-04 16:25:03 +06:00
2dceadd1f0 Merge pull request #249 from fanquake/deprecated_headers
refactor: remove some usage of deprecated headers
2022-04-09 10:30:03 +08:00
6da4ec1ae5 refactor: use core/noncopyable over noncopyable
The later is deprecated:
```cpp

// The header file at this path is deprecated;
// use boost/core/noncopyable.hpp instead.

```
2022-04-08 15:02:43 +01:00
8e58e09ba7 refactor: use core/ref.hpp over ref.hpp
The later has been deprecated:
```cpp

// The header file at this path is deprecated;
// use boost/core/ref.hpp instead.

```
2022-04-08 15:00:20 +01:00
45054c239b Merge pull request #245 from denzor200/githubactions
Extended CI && Fixed test for C++03
2022-01-25 15:32:53 +08:00
145b54d060 [githubactions] Fixed reverse_view test for C++03 2022-01-24 23:40:18 +04:00
d77dc74c7f [githubactions] Fixed CI 2022-01-24 23:27:28 +04:00
b50f10d1dd Merge remote-tracking branch 'sdarwin/githubactions' into githubactions 2022-01-24 23:15:04 +04:00
23e78a5974 Merge pull request #237 from denzor200/denzor200-patch-3
Fixed reverse_view
2022-01-16 18:10:43 +08:00
d22982e3a9 Diff simplified && update copyrights 2022-01-16 09:49:52 +04:00
1c5d3ac6f6 Merge remote-tracking branch 'origin/develop' into denzor200-patch-3 2022-01-16 09:43:41 +04:00
13593be807 Merge pull request #240 from denzor200/identity_view
Added boost::fusion::identity_view
2022-01-16 08:39:38 +08:00
21a449ae46 [identity_view] Fix for spoiled prvalue 2022-01-15 22:22:46 +04:00
d26c2e4212 Update identity_view.cpp 2022-01-12 10:14:07 +04:00
b0f60d5933 Update identity_view.cpp 2022-01-12 09:48:26 +04:00
eed79cb557 [identity_view] Added boost::fusion::identity_view 2022-01-10 21:19:38 +04:00
438d4d1874 Merge pull request #239 from denzor200/transform_view_ext
Transform view ext
2022-01-10 20:57:45 +08:00
9c1105ca00 Merge pull request #236 from denzor200/denzor200-patch-2
Fixed CI
2022-01-10 20:54:20 +08:00
37f64aa622 Merge branch 'boostorg:develop' into transform_view_ext 2022-01-10 09:34:00 +04:00
9be3b29738 Merge pull request #238 from denzor200/denzor200-patch-4
Fixed typo in the doc && less tautology
2022-01-10 07:50:57 +08:00
a57683a68d [transform_view_ext] Unary transform_view is an Associative Sequence now 2022-01-09 16:34:07 +04:00
e3429dac26 Merge remote-tracking branch 'origin/denzor200-patch-4' into transform_view_ext
Conflicts:
	doc/view.qbk
2022-01-09 15:31:15 +04:00
aa5ea2af69 Update view.qbk 2022-01-09 07:45:54 +04:00
2bb8a26c5b Fixed all '*_data' methods in reverse_view 2021-11-08 02:11:31 +04:00
95cf8bdb8d Applied fixes for reverse_view 2021-11-07 23:07:18 +04:00
380a2bc7a0 Update reverse_view.cpp 2021-11-07 03:29:06 +04:00
f07cca743f Update reverse_view.cpp 2021-11-07 03:03:18 +04:00
5db3ed8134 [transform_view_ext] Updated docs 2021-11-06 20:33:38 +04:00
8ea7f31294 Update appveyor.yml 2021-11-05 15:39:10 +04:00
10f44ff5a0 Update appveyor.yml 2021-11-05 14:51:22 +04:00
12c5097cf7 Update appveyor.yml 2021-11-05 14:13:09 +04:00
ccdcdd5610 Merge pull request #235 from denzor200/denzor200-patch-1
Fixed typos in the doc
2021-10-31 21:26:29 +08:00
25f12dedc8 Update sequence.qbk 2021-10-31 13:32:28 +04:00
c199f5c6fa Update sequence.qbk 2021-10-31 13:22:35 +04:00
de61a00d62 Fix doc as per https://github.com/boostorg/fusion/issues/234 2021-09-26 09:00:54 +08:00
3e20342084 Merge pull request #200 from Kojoley/simplify-vector-assign_sequence
vector: Simplify assign_sequence
2021-09-04 14:16:30 +08:00
500e4c120f Update CMakeLists.txt 2021-06-10 01:00:55 +03:00
b0f80684fd Add GitHub Actions config [ci skip] 2021-03-02 14:54:00 +00:00
38060fab3a Merge pull request #228 from eldiener/develop
[skip ci] Add "cxxstd" json field
2021-01-20 08:12:50 +08:00
198458a9f2 [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. 2021-01-19 17:22:00 -05:00
4a699a39f5 Merge pull request #222 from k15tfu/fix-issue-221
Fix definition-of-implicit-copy-constructor-is-deprecated warnings
2020-10-06 09:20:17 +08:00
b93b4c9a86 Merge pull request #226 from giomasce-throwaway/develop
Fix missing name copyright headers.
2020-10-06 09:14:40 +08:00
5a9bfa3d7d Fix missing name copyright headers.
The name was reconstructed from the Git history.
2020-10-05 19:31:34 +02:00
c46e492d45 Merge pull request #223 from Kojoley/deprecated-copy
Fix -Wdeprecated-copy
2020-05-30 01:51:15 +08:00
4979945690 Fix -Wdeprecated-copy 2020-04-30 02:47:37 +03:00
9dca58bd33 Fix definition-of-implicit-copy-constructor-is-deprecated warnings
Fixes #221
2020-04-20 19:02:10 +03:00
c3af48d345 Merge pull request #220 from eldiener/develop
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74. Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost conf…
2020-04-09 21:44:43 +08:00
70c38c7bf7 Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 08:30:37 -04:00
edddad2b4e Merge branch 'master' into develop 2020-03-26 19:13:17 +08:00
b3c212c47f Merge pull request #216 from Kojoley/fix-comparison-operators-enabler
Fix comparison operators enabler
2019-12-04 14:24:27 +08:00
4778c4c180 Fix comparison operators enabler
Overloads must not be presented until both arguments are Fusion sequences.
2019-12-04 03:04:34 +03:00
5f30a8da60 Merge pull request #212 from Romain-Geissler-1A/delete-private-copy-operators
Explicitly delete all non implemented assignment operators.
2019-11-19 09:40:12 +08:00
fc32335387 Merge pull request #215 from Kojoley/patch-1
CI: Fix Appveyor builds
2019-11-01 08:32:51 +08:00
b5751ae85d CI: Fix Appveyor builds 2019-10-31 22:12:43 +03:00
e5a007579f Merge pull request #214 from Jac1494/develop
Disabled two test which tries to return local address
2019-07-27 10:54:46 +08:00
3e07b3f66b Disabled two test which tries to return local address 2019-07-25 18:10:22 +05:30
08076be2ac Explicitly delete all non implemented assignment operators.
Commit (almost) automatically generated with the following sed command:
sed -i -ne '1h;1!H;${g;s|\n[[:blank:]]*private:\n\([[:blank:]]*\)// silence MSVC warning C4512: assignment operator could not be generated\n\([[:blank:]]*\)\([^\n]\+\);\n|\n\1// silence MSVC warning C4512: assignment operator could not be generated\n\2BOOST_DELETED_FUNCTION(\3)\n|g;p}' $(git ls-files)
2019-05-08 17:11:37 +00:00
4c51811315 Merge pull request #208 from Mike-Devel/min_cmake
[CMake] Add minimal cmake file
2019-03-08 08:55:47 +09:00
19d6c7ad3b Fix is_view_impl to return false for non fusion sequences (just like is_sequence_impl). (reverted from commit 1c693f05bf) 2019-02-18 13:59:58 +08:00
1c693f05bf Fix is_view_impl to return false for non fusion sequences (just like is_sequence_impl). 2019-02-18 12:45:36 +08:00
b180146e3d [CMake] Add disclaimer and turn tabs into spaces 2019-01-28 13:02:40 +01:00
68affa1706 [CMake] Generate cmake target that other libraries can use
... to express their dependency on this library and retrieve any
configuration information such as the include directory, binary
to link to (if any), transitive dependencies, necessary compiler
options or the required c++ standards level.
2019-01-23 19:03:03 +01:00
f0089a640e Merge pull request #205 from Kojoley/sequence-intrinsic-at
Tweak sequence intrinsic at
2019-01-16 18:03:12 +09:00
81a1c2c99a Merge pull request #207 from boostorg/develop
Update CI scripts on master
2019-01-10 17:19:50 +09:00
7b55860d78 Merge pull request #206 from boostorg/update-ci
Update CI scripts
2019-01-10 08:45:02 +09:00
70837a30c5 CI: Added clang-win runner 2019-01-09 18:59:05 +09:00
2e91d0b78e CI: Updated travis compiler matrix 2019-01-09 18:58:40 +09:00
e375a4541b CI: Updated for the recent boost-install changes 2019-01-09 18:33:23 +09:00
908a34a4ed Tweak sequence intrinsic at
A bit clearer and slightly less work for the inliner
2018-11-01 02:01:15 +03:00
62137c0ab7 Merge pull request #204 from boostorg/develop
boost 1.69
2018-10-31 08:23:10 +09:00
753db26073 Merge pull request #198 from Kojoley/vector-simplify-at_impl
vector: Simplify at_impl
2018-10-25 22:12:38 +09:00
309a2d623f Merge pull request #201 from Kojoley/a-slightly-cleaner-n3031-workaround
A slightly cleaner N3031 workaround
2018-10-18 08:17:24 +09:00
b5ba6cbd2b N3031 workaround for compilers without alias templates 2018-10-14 02:49:25 +03:00
2160949150 A slightly cleaner N3031 workaround 2018-10-12 00:34:20 +03:00
6208b083fb Merge pull request #199 from Kojoley/simplify-is_same_size
Simplify is_same_size
2018-10-10 22:34:30 +09:00
95beeba19c Merge pull request #197 from Kojoley/vector_n-test-fix-warning
TST: vector_n: Fixed conversion warning
2018-10-10 22:31:53 +09:00
efe9065b8c vector: Simplify at_impl 2018-10-10 04:19:10 +03:00
26e8b5e459 vector: Simplify assign_sequence 2018-10-10 03:09:54 +03:00
d1da8ee746 Simplify is_same_size 2018-10-07 23:17:40 +03:00
a26dcf59ce TST: vector_n: Fixed conversion warning
```
boost\fusion\container\vector\vector.hpp(168): warning C4244: 'initializing': conversion from 'T' to 'T', possible loss of data
1>        with
1>        [
1>            T=int
1>        ]
1>        and
1>        [
1>            T=float
1>        ]
```
2018-10-05 15:54:35 +03:00
6b5c5be9be Merge pull request #195 from Kojoley/patch-2
map_fwd: Do not include the implementation details
2018-09-27 09:35:05 +09:00
8c36079edb Merge pull request #193 from Kojoley/patch-1
Update decltype(expr)::type WA for Clang 3.0
2018-09-27 09:34:43 +09:00
9db262acf5 Fix unit tests that did not return report_errors() 2018-09-24 19:43:33 -04:00
a3abadb884 map_fwd: Do not include the implementation details 2018-09-25 02:21:05 +03:00
3cfbd9826d Fix unit tests that did not return report_errors() 2018-09-17 07:17:29 -04:00
c1fea895c2 Update decltype(expr)::type WA for Clang 3.0 2018-08-17 01:36:56 +03:00
6a3ddd1458 Merge pull request #191 from boostorg/adapt-adt/return-const
adapt/adt: Don't add/remove const on return type of attributes
2018-08-09 08:21:49 +09:00
b1f20628bb Merge pull request #192 from Kojoley/define-is_view-for-non-fusion
Define traits::is_view for non fusion types
2018-08-03 09:46:42 +09:00
b0f0882229 Define traits::is_view for non fusion types 2018-08-03 00:24:10 +03:00
b8fafe04d9 Merge pull request #190 from boostorg/cleanup/filter_view
Cleanup filter_view to improve performance
2018-08-02 12:53:08 +09:00
95b4500898 test: Suppress unused warning 2018-08-02 12:43:26 +09:00
b02cb70760 test: Suppress unused warning on MSVC 2018-08-02 09:37:32 +09:00
77ebd568e1 adapt/adt: Don't add/remove const on return type of attributes
Boost.TypeOf always deduces the type as un-cv-qualified value type, thus const-ized
value type is redundant and inhibiting compiler optimization.
2018-08-01 20:08:24 +09:00
e29b1a07f3 adapt: Cleanup includes 2018-07-28 14:49:50 +09:00
f03bb5ec2e test: Removed unnecessary semi-colon 2018-07-28 14:40:51 +09:00
cc0c684a92 test: Suppress unused warning 2018-07-27 12:45:33 +09:00
c740a4dbad Merge pull request #188 from boostorg/develop
Post beta merge
2018-07-17 21:12:08 +09:00
48f8af3e73 filter_view: Removed redundant filter operation
Iterator constructor always filters and determines right position.
2018-07-07 09:30:17 +09:00
cc3fbc4f5d Removed unused headers 2018-07-07 09:30:17 +09:00
bd96a6bcfb doc: Fixed filter_view parameter requirements 2018-07-07 09:24:55 +09:00
2a95fcc3e9 Merge pull request #186 from boostorg/bugfix/apply
Fixed unintentional MPL substitution in transform_view
2018-07-07 08:11:15 +09:00
47ff2e6cb5 find_if: Improved tag usage
The traversal tag is a bit complex than before.
2018-07-07 07:18:56 +09:00
9036c72a61 find_if: Removed unnecessary mpl::lambda
mpl::apply can treat placeholder expression
2018-07-07 07:08:17 +09:00
06a2f0560f doc: Fixed keyword links 2018-07-07 01:56:50 +09:00
c76cd3d6b2 test: Suppress unused warning 2018-07-07 01:27:20 +09:00
77959b1d33 test: Added test for ticket 5490 2018-07-07 01:23:11 +09:00
c6448b9e45 transform: Stopped use of mpl::apply
it causes unintended MPL substitution
2018-07-07 01:06:05 +09:00
561890429b doc: Moved paragraph to mpl adaptation to mpl section 2018-07-06 11:21:54 +09:00
23c54602c2 Merge pull request #185 from boostorg/docfix/io-for-adapted
doc: Added note regarding IO for adapted type
2018-07-05 22:57:56 +09:00
30c044b03a doc: Added note regarding IO for adapted type
[skip ci]
closes: track 6091
2018-07-05 22:15:33 +09:00
a71b9607e1 Merge pull request #184 from boostorg/develop
pre boost 1.68.0 beta merge
2018-07-03 21:50:36 +09:00
102588ae46 Merge pull request #183 from boostorg/mutable_for_each
Fixed for_each parameter type to accept mutable functor
2018-07-03 12:40:54 +09:00
0e4c5127f5 algo/for_each: Fixed parameter type
to be able to call mutable object
2018-07-02 22:19:25 +09:00
afb8b150a9 Merge pull request #181 from boostorg/init-and-paren
Fixed misused parenthesized initializer
2018-05-13 20:40:25 +09:00
d832387fdb Fixed misused parenthesized initializer 2018-05-13 18:59:43 +09:00
0c138de7cb Merge pull request #180 from boostorg/develop
Merge develop
2018-05-10 00:59:45 +09:00
98b96c3b97 Merge pull request #179 from boostorg/support
Reorganize support facility to simplify
2018-04-28 00:21:06 +09:00
68be23a0b9 Merge upstream branch 'develop' into support 2018-04-27 20:32:09 +09:00
6f8de8d774 Added workaround for fold expr and dependent name 2018-04-27 20:29:06 +09:00
5221bbbc76 Added workaround for defaulted and noexcept 2018-04-27 14:56:23 +09:00
0e900bba3f Specify defaulted and remove unnecessary functions from unused_type 2018-04-27 12:37:37 +09:00
38aa3705d0 Added test for unused_type 2018-04-27 12:37:00 +09:00
1854626651 Merge pull request #178 from boostorg/more-ci-targets
More ci targets
2018-04-26 06:41:55 +09:00
e8da43a539 Added workaround for gcc 4.6 with C array 2018-04-26 00:02:57 +09:00
3b8fb67b52 Update WA condition 2018-04-22 03:44:57 +09:00
c4881f1862 Merge upstream branch 'develop' into more-ci-targets 2018-04-22 03:41:55 +09:00
e818089a91 likewise 2018-04-21 19:18:09 +09:00
a95a838779 Added workaround to test
is_constructible on GCC < 4.7 always fail to test non unary ctor
2018-04-21 18:22:24 +09:00
7443cb1101 Changed availability condition to what Boost.TT providing 2018-04-20 13:04:02 +09:00
84b1847442 Merge pull request #177 from boostorg/bugfix/c-style-array
Fixed compile error with C-style array
2018-04-19 01:44:13 +09:00
a273cd8131 Added workaround for msvc-14.x 2018-04-19 00:21:41 +09:00
757541f9d2 Updated c-style array test for associative container 2018-04-18 22:39:55 +09:00
dd695c1dbd Fixed a compile error bug similar to previous vector's one 2018-04-18 22:38:09 +09:00
96b2e51828 Added test for #176 2018-04-18 22:33:36 +09:00
e962c1abb5 Fixed vector compile error with C-style array 2018-04-18 22:31:35 +09:00
7899658d8e Merge pull request #175 from boostorg/develop
Post beta merge
2018-03-25 12:58:00 +09:00
e3b053f969 Remove detail metafunctions to simplify template 2018-03-15 20:49:38 +09:00
11a3f250b8 Remove unused header 2018-03-15 19:56:07 +09:00
79262831ef Merge pull request #174 from boostorg/testfix/logical-and
Fixed detail::and test
2018-03-15 13:35:23 +09:00
d8f608c8f1 Move is_native_fusion_sequence to detail
in order to reuse it in is_mpl_sequence
2018-03-14 14:53:30 +09:00
2aea153be0 Use fold expression to improbe compile speed 2018-03-14 14:53:07 +09:00
4734cf4a13 Fixed detail::and test
it should be used mpl/assert instead of runtime facility.
2018-03-14 14:41:43 +09:00
d5bd71c886 Update dead/moved links 2018-03-14 00:51:48 +09:00
c3dec40e72 Fixed links to support list.
Gmane had been closed and not back yet.
2018-03-13 23:18:03 +09:00
03ac9086bc Merge pull request #172 from boostorg/develop
Pre 1.67.0 beta merge - agian
2018-03-06 15:09:50 +09:00
9de3272174 Added workaround for GCC 4.4/c++0x
Teh call of ctor is ambiguous since gcc 4.4 allows binding rvalue to lvalue reference.
2018-03-06 00:40:41 +09:00
25c6334c58 meta: Update failure toolset name 2018-03-03 16:20:08 +09:00
101a056a92 Merge pull request #171 from ldionne/develop
Allow incomplete types in fusion::tag_of and fusion::is_native_fusion_sequence
2018-03-03 13:31:22 +09:00
82f677c169 Allow incomplete types in fusion::tag_of and fusion::is_native_fusion_sequence 2018-03-02 02:03:43 -08:00
479bc3133b Merge pull request #169 from boostorg/develop
Pre 1.67.0 beta merge
2018-02-26 01:02:16 +09:00
f61bffb21f Remove $$$ JDG temp $$$ 2018-02-24 16:00:57 +09:00
4c67886cc2 Merge pull request #168 from Kojoley/add-limits-precheck
Add limits precheck
2018-02-21 21:45:13 +09:00
38818fbe3d Add limits precheck 2018-02-20 22:44:34 +03:00
eeeee9bfbb Fixed ambiguous call of hash_value
ADL also picks stdext::hash_value which msvc providing.
2018-02-19 22:40:56 +09:00
eb0cbbc347 CI: trusty doesn't provide gcc 4.5 2018-02-18 21:25:51 +09:00
d0c17119e7 CI: skip known to fail 2018-02-17 17:46:03 +09:00
28ea5dacce CI: Added more build target 2018-02-17 17:45:49 +09:00
6c96720080 CI: Remove build branch restriction 2018-02-17 17:27:20 +09:00
0a8f0f49b2 Merge pull request #167 from boostorg/enhancement/ci
Improve CI performance, like phoenix
2018-01-29 20:04:18 +09:00
cdd1408d2b Update dependency
functional/hash was branched off into contaienr_hash
2018-01-29 12:35:30 +09:00
540ea0ef0c Use build time configuration 2018-01-29 12:03:19 +09:00
671f22b013 Use new common CI marker 2018-01-29 10:34:33 +09:00
dfceaffc58 Update copyright year 2018-01-29 10:30:55 +09:00
2c86e9d18c Added hash option to b2
to mitigate max path length exceeding.
2018-01-29 10:17:06 +09:00
d8e6f406ab Mark as CI in Jamfile not command line
super-project also runs regression test, but they doesn't define that.
2018-01-29 10:15:39 +09:00
b42314fb02 Enabling parallel option to CI job 2018-01-29 10:10:15 +09:00
806b621931 Merge pull request #166 from Kojoley/cwg-defect-945
vector: Fix for compilers not compatible with CWG defect 945
2017-12-24 11:40:58 +09:00
39fb05e40f vector: Fix for compilers not compatible with CWG defect 945
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#945
2017-12-23 18:17:04 +03:00
dc47261890 Merge pull request #164 from Kojoley/fix-map-vs2017-15.5
map: Switch to SFINAE in template parameters
2017-12-14 06:45:27 +08:00
099333b61d map: Switch to SFINAE in template parameters
Fixes #163.

Since C++11 we can do SFINAE in template parameters. VS2017 15.5 doesn't like
the SFINAE on argument here, but do not ask me why, because I have no idea.
2017-12-14 00:05:28 +03:00
71ad390cf0 Merge pull request #162 from boostorg/develop
Post beta merge
2017-12-03 00:08:31 +09:00
821aaee960 Merge pull request #161 from boostorg/regression/msvc-defects
Fixed a regression with msvc 10/11/12
2017-11-25 06:23:17 +08:00
b12c6b6af6 Regenerate preprocessed files. 2017-11-23 22:59:02 +09:00
4eda545405 Fixed a regression with msvc 10/11/12 defect 2017-11-23 22:48:11 +09:00
5fd8c36079 Added test for GitHub issue #159 2017-11-23 22:27:59 +09:00
e6b5879511 Merge pull request #157 from boostorg/develop
Merge develop to master
2017-10-31 09:40:44 +09:00
33ce5701ae Remove depth option from submodule update.
We need `back to the future` sometime, such as merge develop to master.
2017-10-30 14:34:59 +09:00
3cd289836d likewise 2017-10-29 16:40:07 +09:00
ffff00b1a2 Fixed clang and libstdc++ combination. 2017-10-28 09:49:27 +09:00
c19cd1b0b7 Specify toolset version via command line. 2017-10-27 20:59:04 +09:00
3452deb057 Remove unnecessary source. 2017-10-27 20:53:14 +09:00
0876b9558d Remove invalid compiler: key 2017-10-27 20:40:29 +09:00
580364a19e trusty is already default image 2017-10-27 20:34:16 +09:00
d6921c112a Use <cxxstd> to speedup build cycle. 2017-10-27 20:10:23 +09:00
254d570b3d Increase shallow clone depth
to mitigate clone failure because of autocommit bot delay.
2017-10-21 12:19:44 +09:00
5c78fea465 Fixed wording 2017-10-20 22:30:59 +09:00
da4abd0dce Added gcc 4.4 as expected failure. 2017-10-20 22:30:42 +09:00
1faac814e3 Merge pull request #156 from danieljames/develop
Make explicit-failures-markup.xml valid
2017-10-19 19:15:31 +09:00
3085f76d31 Make explicit-failures-markup.xml valid
The xml needs to be valid according to:

https://github.com/boostorg/boost/blob/develop/status/explicit-failures.xsd

It requires that the elements are in a certain order. I suspect that the
scripts don't actually require that, but I don't know for sure.
2017-10-19 10:54:10 +01:00
e18aa85602 Merge pull request #155 from Flast/ci
Update CI status
2017-10-19 13:21:43 +09:00
320386dcf1 Revert "Remove unused env value."
This reverts commit 3e7d928ddd.

This env value is needed to prevent run job with default compiler.
2017-10-18 23:50:10 +09:00
cbda55b962 Added repo local failure markups. 2017-10-18 23:35:48 +09:00
e992658ce3 Skipping some tests due to compiler bug.
It is better to skip such tests on AppVeyor to detect regression.
2017-10-18 23:09:27 +09:00
99699ede5d Added define to determine where running on. 2017-10-18 22:43:08 +09:00
8243b3088b Remove notification 2017-10-18 08:35:15 +09:00
3e7d928ddd Remove unused env value. 2017-10-18 08:09:30 +09:00
26f69719d0 Merge pull request #154 from boostorg/bugfix/forwarding-on-non-variadics
Fixed bugs nesting and copying on c++03.
2017-10-15 14:01:45 +09:00
0e0de6c4f1 Regenerate preprocessed files. 2017-10-15 07:10:25 +09:00
984fcfd276 Delete needless overload. 2017-10-14 03:18:47 +09:00
62f5ccac53 Fixed compile error on copy construction. 2017-10-14 03:16:44 +09:00
cf33f3db4e Added copy assign to deque(03).
move ctor will delete defaulted copy assign.
2017-10-14 03:16:00 +09:00
dfe08dec2c Fixed incorrect overload resolution.
Those functions should not be chosen for copying/moving.
2017-10-14 02:34:44 +09:00
7ec3f1a68f Merge pull request #153 from boostorg/bugfix/array-and-libcxx
Fixed compile error with std::array
2017-10-13 22:12:02 +09:00
42a01fc3f4 Fixed compile error with std::array
libc++ enables std::array in c++98 mode, but <type_traits> doesn't.
2017-10-13 20:04:11 +09:00
0d37235d1c Merge pull request #152 from boostorg/ci
Enabe CI services
2017-10-13 17:03:50 +09:00
e97f58749f Reduce ln flags
BSD coreutils doesn't know -T switch.
2017-10-13 14:46:30 +09:00
80a86fbcd4 Move instead of link
bjam may confuse relative path.
2017-10-13 13:15:38 +09:00
6bef7c98b2 Fixed missing modules. 2017-10-13 13:12:08 +09:00
e4b1233262 Fixed directory hijacking error. 2017-10-13 12:46:54 +09:00
38535926bd Enabling CI services
based on smart_ptr repo
2017-10-13 12:30:17 +09:00
1bce525b30 Merge pull request #151 from boostorg/change-base-of-tuple
Change base of tuple
2017-10-12 23:56:23 +09:00
e606ceeff0 Improve vector value_at performance. 2017-10-07 14:18:29 +09:00
24d1c7fd1a Reduce type deduction which is already known. 2017-10-04 01:43:45 +09:00
e5d073d786 Use compiler generated ctor. 2017-10-04 01:30:27 +09:00
6a9b7f314d Remove unnecessary base check.
fusion::tuple doesn't inherit from fusion::vector now.
2017-10-04 01:13:26 +09:00
0471a65ca2 Change fusion::tuple its base class to vector_data.
This change aims to improve compile time performance for both of vector and tuple.
2017-10-03 22:25:03 +09:00
b6e5285430 Merge pull request #150 from gjasny/remove-circular-include
Remove circular preprocessor include
2017-09-03 05:30:35 +08:00
9cb23af898 Remove circular preprocessor include 2017-09-02 16:09:12 +02:00
437cea006a Merge pull request #149 from kuhlenough/develop
isspace(c) is not a macro in Dinkum clib for VxWorks
2017-08-11 04:42:26 +08:00
7c15df79f2 isspace(c) is not a macro in Dinkum clib for VxWorks, must be in std namespace 2017-08-10 12:19:32 -04:00
503a89dc89 Merge pull request #148 from vtnerd/bugfix/test_nest
Fixed bug in test/sequence/nest.hpp where some results were ignored
2017-07-26 08:01:19 +08:00
b24dfd635b Fixed bug in test/sequence/nest.hpp where some results were ignored 2017-07-25 15:29:57 -04:00
84d8afbb31 Merge pull request #147 from boostorg/develop
Develop to Master
2017-06-19 23:43:44 +09:00
36eac2e77c Added missing include file. 2017-06-18 23:12:50 +09:00
bb782de1ff Merge pull request #146 from Flast/update-workarounds
Update workarounds for msvc 14.1
2017-05-01 13:12:56 +09:00
451e21adb3 Update workarounds for msvc 14.1 2017-04-30 23:26:24 +09:00
e0ceefafb6 Merge pull request #145 from boostorg/test-config
Refresh Jamfile
2017-04-30 22:41:34 +09:00
2952fd254f Use build time config to filter tests. 2017-04-27 22:23:39 +09:00
1ec001888d Reformatting. 2017-02-02 22:08:16 +09:00
98b81ee102 Remove use of deprecated binder. (#144) 2016-11-20 16:58:04 +09:00
f1a619428a Remove unintended file. 2016-11-20 16:41:23 +09:00
715a7fb729 Merge pull request #141 from boostorg/develop
Boost 1.63.0 beta release
2016-11-01 17:03:05 +09:00
fcdcfcd2c5 Merge pull request #143 from boostorg/bugfix/returing-tmp-variable
Fix returing temporary variable warning on MSVC.
2016-11-01 02:44:58 +09:00
6f43cd7f66 Correct testcase condition. 2016-11-01 02:28:45 +09:00
c630611626 Fix returing temporary variable warning on MSVC. 2016-11-01 01:54:10 +09:00
0d8243b36d Merge pull request #142 from Flast/std_array
Adaptor for std::array.
2016-10-31 01:40:57 +09:00
ea9a176312 Include <array> instead of declare std::array.
Some implementations declare it as std::tr1::array and conflict.
2016-10-31 01:13:36 +09:00
1747703b1a Merge pull request #140 from Flast/bugfix/define_struct
Workarounds for older compilers.
2016-10-29 22:28:34 +09:00
c158886591 Workaround for MSVC 12 variadics bug. 2016-10-29 21:29:26 +09:00
5135b5109b Likewise. 2016-10-29 20:57:06 +09:00
490baac6e2 Added workaround for older gcc. 2016-10-29 15:34:49 +09:00
6bd644d43d Don't use iterator for copy/move assign op. 2016-10-29 14:40:47 +09:00
64af83d999 Merge pull request #138 from Flast/movable-define_struct
DEFINE_STRUCT now allows move construct/assign.
2016-10-24 00:00:06 +09:00
e74ccb1cf5 DEFINE_STRUCT now allows move construct/assign. 2016-10-19 01:33:43 +09:00
7b13053c7e Merge pull request #135 from vtnerd/bugfix/vector_conversion_constructor
Make C++11 fusion::vector more consistent with C++03 fusion::vector
2016-10-14 13:51:52 +09:00
ef2dc2aaae Merge pull request #137 from boostorg/empty_struct
Allow to define empty struct.
2016-10-14 11:44:55 +09:00
ef1ca12e81 Added tests for adapted empty struct. 2016-10-14 01:47:02 +09:00
a2b8a8f254 Don't define user-provided special functions.
To allow to define empty struct.
2016-10-13 00:18:14 +09:00
16a069be14 Fix test for non C++11/14. 2016-10-11 08:22:35 +09:00
3b96c3b70b Add, and update, documentation build targets. 2016-10-10 11:39:49 -05:00
61fab16418 Merge branch 'mloskot/boost_fusion_std_array' into develop 2016-10-10 18:46:29 +09:00
928ced256a Adjust directory structure. 2016-10-09 22:14:42 +09:00
599b8d4aef Add, and update, documentation build targets. 2016-10-07 23:07:34 -05:00
1a2a8d67aa Merge pull request #136 from Kojoley/fix-extra-semicolon
Fixed extra semicolon
2016-09-02 00:32:41 +08:00
d5740f8310 Fixed extra semicolon 2016-09-01 17:57:15 +03:00
5906d9c316 Make C++11 fusion::vector more consistent with C++03 fusion::vector
- Construct from elements is enabled iff each argument is_convertible to
    corresponding element.
  - Construct from sequence is enabled iff the single argument is a fusion
    sequence.
  - C++11 vector and tuple also disable construct from sequence that are
    shorter than the destination. C++03 gives incorrect is_convertible
    responses in this situation and fails to compile if that constructor is
    used; C++11 can have instantation errors in
    and_<is_convertible<U, T>...> without the additional check.
  - C++11 tuple and vector support truncation conversion and assignment like
    all other sequences.
2016-08-26 12:45:11 -04:00
45d9b49ee5 Merge pull request #134 from vtnerd/bugfix/tuple_element_construction
Add DISABLE_VARIADIC_VECTOR and SFINAE for c++11 tuple element construction
2016-07-31 15:58:17 +09:00
55150a7fa6 Add DISABLE_VARIADIC_VECTOR and SFINAE for c++11 tuple element construction 2016-07-26 14:53:26 -04:00
27321dd18e Merge pull request #132 from vtnerd/bugfix/nested_sequence_cpp11
Added to nested tests, and fixed C++11 vector copy-from-sequence
2016-06-01 06:47:21 +08:00
79d8e9d11c Added to nested tests, and fixed C++11 vector copy-from-sequence 2016-05-31 16:52:57 -04:00
904d3c2c01 Merge pull request #131 from boostorg/develop
post 1.61.0 beta1
2016-04-02 12:44:16 +08:00
7e4ab4f804 Merge pull request #130 from Flast/bugfix/gcc34
Added workaround for GCC 3.4 due to ambiguous.
2016-03-16 21:36:54 +08:00
3189580857 Added workaround for GCC 3.4 due to ambiguous.
NOTE: GCC 3.3 and earlier are not supported officially by Boost community.
2016-03-16 20:25:59 +09:00
71dcb3e02c Merge pull request #129 from Flast/testfix/gcc44-std_tuple
Tweak std::tuple test for GCC 4.4
2016-03-11 13:24:42 +08:00
82f24e0f73 Tweak std::tuple test for GCC 4.4
due to https://gcc.gnu.org/PR41530 .
2016-03-11 01:01:12 +09:00
f29e1e8209 Merge pull request #128 from Flast/patch-1
Correct workaround condition.
2016-03-09 10:00:31 +08:00
12b25c2c99 Correct workaround condition. 2016-03-09 10:19:22 +09:00
bc6eaf7ab0 Merge pull request #127 from Flast/workaround/for-older-gcc
Workaround for ICE on GCC 4.0/4.1.
2016-03-08 16:26:56 +08:00
275236f86e Workaround for ICE on GCC 4.0 and 4.1. 2016-03-08 15:36:21 +09:00
a8b70d6679 Workaround for ICE on GCC 4.0.0. 2016-03-08 14:43:32 +09:00
7472e70951 Merge pull request #126 from Flast/patch-1
Remove outdated comment.
2016-03-07 19:26:41 +08:00
104f508cef Remove outdated comment. 2016-03-07 19:42:23 +09:00
0263c75cd8 Merge pull request #125 from boostorg/develop
Release Candidate for 1.61.0.
2016-03-03 06:58:37 +08:00
f7b90f2981 Merge pull request #124 from Flast/feature/ticket-11157-remove-BOOST_PP_IS_EMPTY
Remove use of BOOST_PP_IS_EMPTY.
2016-02-17 04:45:16 +08:00
d314798241 Merge pull request #123 from Flast/drop-bom
Drop BOM.
2016-02-17 04:43:51 +08:00
5ed26ec932 Drop Byte-order-Marker. 2016-02-16 23:55:59 +09:00
4ebc028769 Optimize. 2016-02-16 19:32:57 +09:00
99ad77b92f Fix typos. 2016-02-16 16:52:27 +09:00
e3d16edfb3 Merge pull request #122 from Flast/suppress-warnings
Suppress conversion warnings on MSVC.
2016-02-16 02:19:41 +08:00
4173b4b97b Suppress conversion warnings on MSVC. 2016-02-16 01:02:58 +09:00
9b43ac8ee0 More optimization. 2016-02-16 00:40:27 +09:00
c9c2c3bad6 Optimize macros. 2016-02-14 23:53:38 +09:00
d7d47619b4 Tweak PP includes. 2016-02-14 23:41:22 +09:00
100d223be4 Merge pull request #121 from Flast/std-integer_sequence
Detect std::integer_sequence availability.
2016-02-13 13:21:14 +08:00
44c21e0f10 Fixes invalid use of hardcoded "obj." prefix for ADAPT_ASSOC_STRUCT_NAMED and btw. fixes test error since removal of BOOST_PP_IS_EMPTY. 2016-02-13 14:15:53 +09:00
3125c15ff4 Fix BOOST_PP_EMPTY replacement with adapt_assoc_struct 2016-02-13 14:15:53 +09:00
11cc331f82 Add test with namespaced names, as it could break with the macro concatenation to check for BOOST_MPL_PP_TOKEN_EQUAL_auto equality. 2016-02-13 14:15:53 +09:00
d1cd721969 Replace BOOST_FUSION_ADAPT_AUTO with the standard auto keyword.
While BOOST_FUSION_ADAPT_AUTO is still supported for backward compatibiltiy,
auto as been put because it has a better readability.
2016-02-13 14:15:53 +09:00
2e466ac054 Remove BOOST_PP_IS_EMPTY in favor of BOOST_MPL_PP_TOKEN_EQUAL and added auto as synonym for BOOST_FUSION_ADAPT_AUTO.
Fix ticket https://svn.boost.org/trac/boost/ticket/11157
BOOST_MPL_PP_TOKEN_EQUAL is now used to check if auto/BOOST_FUSION_ADAPT_AUTO
was provided as type, telling to deduce members types.
2016-02-13 14:15:53 +09:00
b88daeb697 Detect std::integer_sequence availability.
It will allow to reuse compiler cache easier.
2016-02-13 11:57:41 +09:00
1774972237 Merge pull request #120 from Flast/remove-trailing-void-support
Remove trailing void_ support on variadic vector.
2016-02-11 23:52:35 +08:00
b46aad996a Remove trailing void_ support on variadic vector. 2016-02-11 23:56:07 +09:00
0526f7c04f Merge pull request #118 from Flast/bugfix/ambiguous-ctor
Fix ambiguous ctor, close #11766
2016-01-08 05:39:51 +08:00
53ba3de15a Merge pull request #119 from boostorg/develop
Post 1.60.0 Beta bugfixes.
2015-12-11 15:06:59 +08:00
64b8406c16 Introduce detail::enabler instead of fusion::void_. 2015-12-10 17:06:04 +09:00
2492ff9b25 regen 2015-12-01 01:26:08 +09:00
3919f3ed73 Fix missing header. 2015-12-01 01:16:01 +09:00
12792a6c11 Fix compile error with ambiguous ctor, close #11766.
When a) first elem is sequence b) second (and third) elem is(are) void*,
both of conversion ctor and forwarding ctor are candidate since SFINAE
expression has void* type.
2015-12-01 01:14:52 +09:00
e9d489c07c Merge pull request #117 from fiesh/develop
error: reference to 'ws' is ambiguous
2015-11-24 05:36:16 +08:00
8767d374ea manip.hpp: Do not use "using namespace std;"
Changed "using namespace std;  ws()" into "std::ws()" to avoid ambiguities with a possible "::ws" namespace.
2015-11-23 17:21:59 +01:00
ee718b363f Merge pull request #116 from Flast/workaround/msvc-8/fold
Fix fusion::fold regression with MSVC 8.
2015-11-15 07:12:07 +08:00
87fffbead3 Fix conditional of workaround. 2015-11-14 23:32:46 +09:00
1c05cfc795 Regenerate fusion::fold family. 2015-11-14 20:34:41 +09:00
7cf404d096 SFINAE expression obstructs compile on MSVC 8. 2015-11-13 21:49:27 +09:00
0c18e85ecd Partly fixed fusion::fold regression for MSVC <=8.
It implicitly includes MSVC 9's workaround.
2015-11-13 20:03:12 +09:00
bb8b5afc7f Merge pull request #115 from NumScale/fix-fast-vector-value_at
Fix fusion::at<vector<...>, N> for C array types
2015-11-11 10:02:52 +08:00
3298875ecc Add double identity trick for fast value_at (vectors)
This is a workaround to make decltype(expr)::type compiles
with old compilers.
2015-11-10 14:04:16 +01:00
74c0d5d0ec Fix fusion::at<vector<...>, N> for C array types 2015-11-10 10:55:13 +01:00
e7ec658b62 Merge pull request #114 from ldionne/bugfix/declval
Remove invalid odr-usages of boost::declval.
2015-11-09 07:16:25 +08:00
4d3891ed31 Remove invalid odr-usages of boost::declval. 2015-11-07 16:11:06 -05:00
1bc343660b Merge pull request #113 from Flast/use-enable_if_has_type-instead
Use boost::enable_if_has_type instead.
2015-11-01 16:45:46 +08:00
981f71d04f Use boost::enable_if_has_type instead. 2015-11-01 11:10:11 +09:00
d6c853f7ad Merge pull request #111 from boostorg/develop
1.60.0 beta
2015-10-28 07:42:24 +08:00
f88dbb6876 Merge pull request #112 from Flast/suppress-undefined-inline-warning
Suppress undefined inline function warning.
2015-10-27 07:32:06 +08:00
4d5da0371b Suppress undefined inline function warning. 2015-10-27 07:59:55 +09:00
76f49608c7 Merge pull request #110 from Flast/regression/vector-ctor
Fix compile error on by-elem ctor.
2015-10-24 07:58:06 +08:00
73045b4d49 Fix compile error on by-elem ctor.
Single element vector of fusion sequence cannot construct from its
element type.
2015-10-23 08:29:05 +09:00
18742c6922 Merge pull request #105 from boostorg/variadics
Merge variadics into develop.
2015-10-22 15:40:04 +08:00
277e5ca034 Merge pull request #109 from Flast/o1-vector-at
Make fusion::at<vector<...>,N> O(1).
2015-10-21 09:43:00 +08:00
1ad2e59e07 Make fusion::at<vector<...>,N> O(1). 2015-10-20 20:12:14 +09:00
2c5c74069f Merge pull request #108 from Flast/regen
Regenerate preprocessed files.
2015-10-18 10:28:04 +08:00
a81024f617 Regenerate preprocessed files. 2015-10-17 11:24:19 +09:00
c537da605b Merge pull request #107 from Flast/variadics/rvalue-references
Compliant container-wide requirements.
2015-10-17 10:09:30 +08:00
1d45a87201 Merge pull request #102 from Flast/sfinae-friendly-fold
SFINAE-friendly fusion::fold
2015-10-16 06:32:12 +08:00
ce4ccb929c Check the argument being fusion sequence or not. 2015-10-08 22:23:10 +09:00
5114d9419e Drop unnecessary ctor. 2015-10-07 17:40:55 +09:00
ca0d92e68d R-value references are now container-wide requirements. 2015-10-06 21:29:02 +09:00
c750552a02 Tweak coding style. 2015-10-06 11:28:16 +09:00
a61285a0a1 Merge pull request #106 from Flast/docfix/return-type-of-algorithms
doc: Fix return type of algorithms, close #3358.
2015-10-06 03:48:07 +08:00
999dad386e doc: Fix return type of algorithms, close #3358. 2015-10-06 01:24:45 +09:00
d512378f4e Merge pull request #104 from Flast/doc-updates-for-variadics
Update docs for variadic containers.
2015-09-25 05:37:37 +08:00
ef39bc8651 Update docs for variadic containers. 2015-09-21 16:19:41 +09:00
d2f8ee9f32 Merge pull request #103 from Flast/suppress-warnings
Suppress some warnings.
2015-09-09 17:27:12 +08:00
cbd2e1dc1d Suppress unused warning. 2015-09-09 18:05:04 +09:00
a6d1b303b3 Fix block comment style.
Intel Compiler warns on nested comment.
2015-09-09 13:35:03 +09:00
76b7697ba5 fusion::fold allows to take non-const lv-ref state properly. 2015-09-08 15:14:27 +09:00
1df7fc1dca Revert "Remove unnecessary overloads, state should always be const."
This reverts commit 9b77c26a24.

As discussed on github, the original code was wrong.
2015-09-08 13:59:48 +09:00
9b77c26a24 Remove unnecessary overloads, state should always be const. 2015-09-08 00:22:58 +09:00
59dfeec815 Add workarounds for older MSVC. 2015-09-08 00:18:37 +09:00
4855d1fac1 Merge pull request #101 from Flast/sfinae-friendly-deque
Apply 7fdb320 change into C++98 interface.
2015-09-07 08:36:07 +08:00
d3449ab5e5 Overhaul the fusion::fold family to make SFINAE-friendly. 2015-09-04 00:51:56 +09:00
c30fabf98f Apply 7fdb320 change into C++98 interface. 2015-08-30 17:13:36 +09:00
de3730c325 Merge pull request #100 from Flast/feature/variadic/tuple
Implement C++11 variadic templates based fusion::tuple.
2015-08-27 14:55:11 +08:00
efd595fd10 Merge pull request #99 from Flast/bugfix/issue-11572
Retrieve convert<deque_tag>.
2015-08-26 06:00:13 +08:00
e61d08d953 Fix broken convert<deque_tag>, close issue 11572. 2015-08-26 00:20:07 +09:00
10d9f0ffba Add convert tests for non-assoc containers. 2015-08-25 23:36:32 +09:00
d9e5a620be Merge pull request #97 from Flast/feature/variadic/set
Variadics for fusion::set.
2015-08-20 21:57:19 +08:00
c5ba3af4c0 Added move functions for set. 2015-08-20 22:30:41 +09:00
22994d7e96 Fix a discrepance of element types in make_set. 2015-08-04 16:23:13 +09:00
dc55e5e103 Merge pull request #98 from Flast/bugfix/issue-11517
Fix #11517 (for master)
2015-08-04 08:14:48 +08:00
1bde5c6fa3 Merge pull request #96 from Flast/bugfix/issue-11517
Fix #11517
2015-08-03 08:48:56 +08:00
8242c688e7 Older GCC doesn't accept use of this in constexpr.
Fix #11517
2015-08-03 00:03:40 +09:00
24f527d401 Use BOOST_CONSTEXPR_OR_CONST instead.
Older GCC cannot specify both of const and constexpr to variable decl.

Partially fix #11517
2015-08-02 21:58:20 +09:00
6689de502b Implement variadic make_set. 2015-07-30 11:56:09 +09:00
1646a7252b Merge pull request #95 from Flast/preprocess
Regenerate preprocessed files.
2015-07-28 08:03:50 +08:00
8761ed1b8d Merge pull request #94 from Flast/preprocess
Regenerate preprocessed files.
2015-07-28 08:03:22 +08:00
e37fd170ce Preprocessing... 2015-07-28 01:02:41 +09:00
74f0758bca Fix path to preprocessed files. 2015-07-28 01:02:03 +09:00
dae9964b15 Merge pull request #93 from Flast/bugfix/issue-11140
Fix a issue with nested fusion::tuple.
2015-07-27 15:26:37 +08:00
b1bb9921e2 Merge pull request #92 from Flast/bugfix/issue-11140
Fix a issue with nested fusion::tuple.
2015-07-27 15:26:10 +08:00
4fa0a5f550 Add tests for nested fusion::tuple. 2015-07-27 13:31:19 +09:00
ed30a7ca6a Fix issue 11140 2015-07-27 13:12:46 +09:00
e0debe282c Merge pull request #91 from ldionne/develop
[Deque] Make the from-sequence constructor SFINAE friendly
2015-07-25 06:24:46 +08:00
7fdb3201fa [Deque] Make the from-sequence constructor SFINAE friendly 2015-07-24 22:11:53 +02:00
8eee897e3f Merge pull request #90 from Flast/feature/variadic/nview
Variadic fusion::nview.
2015-07-16 14:07:41 +08:00
daea1c3142 Merge pull request #89 from Flast/feature/variadic/vector
Variadic fusion::vector.
2015-07-15 16:05:19 +08:00
2f6e162a7e Merge pull request #88 from boostorg/develop
Boost 1.59 beta
2015-07-07 23:26:29 +08:00
bc01b7fa24 Implement C++11 variadic templates based fusion::tuple. 2015-07-03 01:36:49 +09:00
00823cc315 Merge pull request #84 from Flast/feature/variadic/list
Variadic fusion::list.
2015-07-01 08:35:47 +08:00
fc92ba530d Merge pull request #87 from Flast/patch-1
Prevent use of conversion ctor  for copy purpose.
2015-07-01 07:05:05 +08:00
c0fcaae951 Prevent use of conversion ctor for copy purpose.
Some compilers elect conversion ctor for copy purpose in implicitly defined copy ctor with derived class.
2015-07-01 02:25:13 +09:00
298eeef9c9 Remove evil numbered_vector_tag. 2015-06-30 01:28:01 +09:00
62d9833bbf Add missing remove_const. 2015-06-29 21:55:51 +09:00
b4133761e8 Implement C++11 variadic templates based fusion::set 2015-06-29 18:14:25 +09:00
7739e4026d Adjust fusion::nview for variadic templates based fusion::vector
since FUSION_MAX_VECTOR_SIZE won't define in c++11.
2015-06-29 12:11:06 +09:00
f9fda7ce06 Remove intermediate specialization. 2015-06-28 19:42:08 +09:00
1f8ccd7bc3 Support move for make_vector. 2015-06-28 13:46:56 +09:00
969b475462 Implement variadic templates based fusion::vector.
Thanks to Lee Clagett.
2015-06-28 01:15:51 +09:00
c77f84749f Implement variadic generators for fusion::vector. 2015-06-28 01:15:51 +09:00
d937003962 Prepare implementing c++11 variadic based fusion::vector. 2015-06-28 01:15:51 +09:00
6fe816fe89 Merge pull request #85 from Flast/feature/no_bounds_sequence
Feature/no bounds sequence
2015-06-25 23:09:18 +08:00
d29dc277e6 Renaming No-bounds concept to Unbounded concept. 2015-06-25 22:42:44 +09:00
d5ce74dffd Added move ctor/assign for c++11 fusion::list. 2015-06-24 15:26:33 +09:00
a31009e73c at_key and value_at_key are aware of no-bounds sequence. 2015-06-23 11:36:14 +09:00
8aa35da4c4 Add documents for No-bounds sequences. 2015-06-23 11:36:13 +09:00
1e21a4eb7a Add new traits named has_no_bounds.
It is for special usecase: some thing like a window function.
This commit relative to c9ae4fc886 .
Users who wants to access out-of-bounds of sequence, specify new
category to it.

    struct sequence {
        struct category
            : fusion::random_access_traversal_tag
            , fusion::no_bounds_tag {};
        ...
    };

All of bounds related intrinsics of the /no-bounds-sequence/ *should*
guarantee to be well-defined or SFINAE-friendly, or compile error.
2015-06-23 09:44:03 +09:00
5cceded23b Drop unnecessary specialization. 2015-06-23 08:56:58 +09:00
78c5228d93 Move internal type into private. 2015-06-23 00:37:24 +09:00
0e8e857c2f Fix fusion::make_list return type. 2015-06-22 23:43:49 +09:00
d197380540 Implement C++11 list_tie. 2015-06-22 23:08:55 +09:00
3d0412bfd1 constexpr support for variadic list. 2015-06-22 23:08:55 +09:00
275f65f9ad Implement C++11 Variadic Templates based list. 2015-06-22 23:08:55 +09:00
9c7b7754fb Merge pull request #83 from Flast/feature/integer_sequence
C++14 like integer_sequence.
2015-06-22 21:38:44 +08:00
2b14951660 Split c++14 like index_sequence into support/detail. 2015-06-22 21:58:54 +09:00
973f2d3940 Merge pull request #82 from Flast/refactor/just-move-into-cpp03
Move cpp03 list_tie into detail dir.
2015-06-20 06:03:28 +08:00
60cf66ad89 Adjust include path. 2015-06-18 08:26:11 +09:00
fb2e4c502f Move list_tie. 2015-06-18 08:21:08 +09:00
fffbbdebdf Merge pull request #81 from Flast/refactor/just-move-into-cpp03
Move non-variadics into its own cpp03 dir and adjust include paths.
2015-06-17 05:58:07 +08:00
ddcd3cdf93 Likewise. 2015-06-17 01:40:45 +09:00
6df8d5a599 Merge pull request #80 from Flast/refactor/just-move-into-cpp03
[WIP] Just move non-variadics into its own cpp03 dir.
2015-06-16 07:53:27 +08:00
78afb4d3fc Likewise. 2015-06-14 23:05:06 +09:00
94f3b2a08b Merge pull request #79 from Flast/bugfix/nested
Fix issue 11267
2015-06-08 21:57:09 +08:00
3521ea3417 Suppress warnings. 2015-06-08 21:41:54 +09:00
ff25066be2 Remove unnecessary include of mpl::print. 2015-06-08 13:36:49 +09:00
e0f10734b1 Fix issue 11267.
Compiler yields compile error within a function witch used in unevaluate
context of constexpr function because of CWG 1581 [2].

1. https://llvm.org/bugs/show_bug.cgi?id=23135
2. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1581
2015-06-08 11:53:17 +09:00
22268eb083 Merge pull request #78 from Flast/remove_old_workaround
Remove obsolete workaround.
2015-05-23 08:58:40 +08:00
869513768d Remove obsolete workaround.
now it doesn't work properly.
2015-05-23 09:51:06 +09:00
65fae37660 Merge pull request #77 from jzmaddock/patch-3
Stop Using type_traits details.
2015-05-22 08:36:10 +08:00
cac994a7c6 Stop Using type_traits details.
Best not to use type_traits undocumented details, these will be moving soon, and use of this header will warn loud and clear if you continue to use it.
2015-05-21 19:14:12 +01:00
14228e9250 Merge pull request #76 from daminetreg/feature/fix-ticket-11269-adapt-empty-struct
Adds test case for each adapter macros we support to adapt an empty type
2015-05-15 21:20:25 +08:00
9911e05838 Adds test for each case adapter macros we support to adapt an empty type. 2015-05-15 09:09:10 +02:00
f22f1624b5 Merge pull request #75 from daminetreg/feature/fix-ticket-11269-adapt-empty-struct
Fix ticket #11269 to adapt an empty struct
2015-05-06 15:34:31 +08:00
8b1da45bfe Fix 11269 (https://svn.boost.org/trac/boost/ticket/11269) and add test case for it. 2015-05-06 08:21:02 +02:00
3b86f61f15 Merge pull request #74 from Flast/bugfix/11249
Fix #11249
2015-05-05 13:39:04 +08:00
2445f60981 Fix #11249: missing includes. 2015-05-05 14:09:20 +09:00
6f8c02eb6f Merge pull request #73 from daminetreg/develop
Merging master in develop
2015-04-29 22:54:15 +08:00
3c34d639df Merge branch 'master' into develop 2015-04-29 16:20:05 +02:00
b10d91ac82 Merge pull request #72 from daminetreg/master
Fix testcase when BOOST_PP_VARIADICS is disabled
2015-04-29 22:14:33 +08:00
b902afa5a0 fix testcase when BOOST_PP_VARIADICS is disabled. 2015-04-29 15:58:41 +02:00
528e6d16f0 Merge pull request #69 from felgru/develop
fix some typos in the documentation
2015-04-29 16:37:18 +08:00
2153df596b Merge pull request #71 from daminetreg/master
Further test cases and fixes for #11211
2015-04-29 16:16:45 +08:00
ce62bb49f3 fix constructors of DEFINE_STRUCT_INLINE to allow construction with non-constexpr compatible. 2015-04-26 22:19:44 +02:00
265de03026 Add test cases for non-constexpr compatible types. 2015-04-26 22:19:31 +02:00
83fb0ef7a2 Merge branch 'master' into develop 2015-04-23 08:27:30 +08:00
294a5ce644 Merge pull request #70 from daminetreg/feature/fix-for-11211
Remove BOOST_CONSTEXPR on BOOST_FUSION_DEFINE_STRUCT
2015-04-21 15:22:18 +08:00
bbdfc9972e Remove BOOST_CONSTEXPR on BOOST_FUSION_DEFINE_STRUCT constructor as it however adds the requirement that the user provided types are constant enabled. 2015-04-21 08:59:24 +02:00
91966ae524 added test case for https://svn.boost.org/trac/boost/ticket/11211 2015-04-21 03:46:25 +08:00
94f53a8d4c fix a typo 2015-04-20 11:12:54 +02:00
0fcd2aa328 doc: fix typo in documentation of fused_procedure 2015-04-20 11:12:45 +02:00
83a08934c8 Prepare to merge 2015-04-19 11:56:21 +09:00
ccb1aa20d9 Merge pull request #68 from Flast/develop
Fix workaround condition: || v.s. &&.
2015-04-14 18:31:06 +08:00
6e569bcdc3 Fix workaround condition: || v.s. &&.
see: 01a2d6557e (commitcomment-10697799)
2015-04-14 13:39:50 +09:00
de50f65380 fixes #11161 2015-04-01 19:09:42 +08:00
639cf2459d Merge pull request #67 from Flast/master
doc: Fix a typo
2015-04-01 09:15:28 +08:00
1ba1ac3ec8 Merge pull request #66 from boostorg/develop
Last chance for 1.58.0.
2015-04-01 09:15:11 +08:00
0bbea1ea32 doc: Fix a typo 2015-04-01 09:57:55 +09:00
b56eb59595 Merge pull request #65 from Flast/bugfix/msvc
Adjust LWG2408 workaround enabling condition.
2015-03-31 00:00:44 +08:00
01a2d6557e Adjust LWG2408 workaround enabling condition. 2015-03-25 21:49:22 +09:00
91cac41ada Merge pull request #64 from Flast/hotfix/1.58.0
Fix includes.
2015-03-23 10:05:59 +08:00
67f0863cdd Fix includes. 2015-03-22 12:24:18 +09:00
2204f025d3 Merge pull request #61 from Flast/feature/sfinae-friendly-result_of
SFINAE-friendly result_of::invoke
2015-03-19 09:39:54 +08:00
e881ea67cb Merge pull request #63 from Flast/develop
Add tests and documents
2015-03-16 08:43:34 +08:00
84789ec1c3 Merge pull request #62 from Flast/feature/sfinae-friendly-result_of
SFINAE-friendly result_of::invoke for develop
2015-03-12 15:56:13 +08:00
8c72a0012f Merge remote-tracking branch 'origin/develop' into feature/sfinae-friendly-result_of 2015-03-09 10:45:42 +09:00
4b5eb0cde8 Merge pull request #60 from daminetreg/master
After merge of #55 regenerated preprocessed headers as needed by #49.
2015-03-07 08:00:37 +08:00
d8bca006ff Merge pull request #59 from daminetreg/develop
Regenerated preprocessed header as of fix for #49
2015-03-07 08:00:33 +08:00
0954000314 After merge of #55 regenerated preprocessed headers as needed by #49. 2015-03-06 14:51:52 +01:00
2b072973e0 Merge pull request #55 from boostorg/develop
Release Candidate 2 for Boost 1.58.0
2015-03-06 12:15:09 +08:00
2c5b52f3bd Merge pull request #58 from Flast/feature/constexpr
More (maybe fully) support C++11/14 constexpr
2015-03-04 06:56:29 +08:00
f45c94fa43 Merge remote-tracking branch 'origin/develop' into feature/constexpr 2015-03-04 02:20:52 +09:00
2114bfca6c More constexpr and noexcept support.
Note 1: Forwarding functions are specified as a C++14 constexpr since
std::forward is not a constexpr within C++11.

Note 2: Though I'm not sure why it doesn't compile, some declarations
are specified as a C++14 constexpr or non-constexpr.

Note 3: Boost.Tuple adaptation and TR1-based tuple implementations are
not constexpr.
2015-03-03 02:21:02 +09:00
3e66a56b9f Merge pull request #56 from Flast/doc-update
Update docs
2015-02-22 04:39:31 +08:00
d03f79b6fd Update documents and tests for #8270 from Jamboree.
https://svn.boost.org/trac/boost/ticket/8270

see also: b36426c8e3
2015-02-22 01:06:27 +09:00
52eb8768f2 Add test for #9418, abstract types for key of map.
https://svn.boost.org/trac/boost/ticket/9418
2015-02-22 00:11:04 +09:00
197792ac53 Conforming admonitions style to quickbook.
http://www.boost.org/doc/libs/1_57_0/doc/html/quickbook/syntax/block.html#quickbook.syntax.block.admonitions
2015-02-21 19:58:15 +09:00
06428298bb Add docs for std::tuple adaptation. 2015-02-21 19:16:13 +09:00
960ccf5d2c Fix dead links: caused by pull-request #51. 2015-02-21 19:15:49 +09:00
bd4b1cdac6 Fix #10443: SFINAE-friendly result_of::invoke.
It means previous pull-requests (#24) is still incomplete.
2015-02-12 21:21:01 +09:00
e23d153734 Merge pull request #54 from boostorg/fusion_adapters
Type Deducing Fusion adapters into develop
2015-02-11 06:53:28 +08:00
d9337979b1 Merge pull request #50 from daminetreg/fusion_adapters
fusion_adapters : auto adaptation working also in MSVC
2015-02-09 17:57:25 +08:00
92726da079 Merge pull request #48 from boostorg/develop
Release Candidate for Boost 1.58
2015-02-09 06:55:09 +08:00
505d41ea67 Merge pull request #49 from Flast/bugfix/msvc
Fix two major MSVC issues.
2015-02-09 06:53:57 +08:00
02d15bfcb4 Merge pull request #52 from Flast/bugfix/lwg/2408
Workaround for LWG 2408: SFINAE-friendly std::iterator_traits.
2015-02-09 06:53:12 +08:00
fb0f22a296 Merge pull request #53 from Flast/bugfix/documentation
Documentation bugfix.
2015-02-09 06:35:12 +08:00
c5c0147d7d Add many tests for SFINAE-friendly result_of::invoke. 2015-02-08 19:23:06 +09:00
6ab68a29d8 Workaround for LWG 2408: SFINAE-friendly std::iterator_traits.
Now available for GCC(libstdc++v3) < 4.5 and MSVC 12.0.
It means, there is no ambiguous about calling next/prior/... via ADL.
2015-02-05 23:04:36 +09:00
aa1448b77a Merge pull request #51 from Flast/develop
Support removing the C++11 standard reference wrappers.
2015-02-04 04:37:02 +08:00
73a5dde412 Merge remote-tracking branch 'official/develop' into fusion_adapters
Conflicts:
	test/sequence/adapt_struct.cpp
2015-02-02 07:06:52 +01:00
b60219eb8a Fix testcase for MSVC 10.0.
MSVC 10.0/11.0 have <tuple> but don't compile variadic templates.
2015-02-02 04:08:13 +09:00
c6c9d872d3 Factored out the IS_TPL macro. 2015-02-01 17:20:31 +01:00
fc1a60e8e6 Adding typename in front of BOOST_TYPEOF is only needed in MSVC when we check the type of a template. 2015-01-30 18:17:36 +01:00
de43345b34 BUGFIX: Forwarding template parameters for MSVC to deduced_attr_type context thanks to BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS. 2015-01-25 23:05:42 +01:00
382c1e5645 BUGFIX: Expands typename for attribute_type only in case it is really a dependent scope. 2015-01-25 21:48:49 +01:00
588896de45 Revert "BUGFIX: MSVC doesn't accept typename to specify a dependent scope within"
This reverts commit 98247fb97f.
2015-01-25 16:14:45 +01:00
70d5b40a7c BUGFIX: Expands typename for attribute_type only in case it is really a dependent scope. 2015-01-25 16:10:34 +01:00
e4d43b00c1 Cosmetic 2015-01-22 01:02:28 +09:00
995202044c Basic move support for c++03 map 2015-01-21 23:11:57 +09:00
b3c560d3b6 Fix some typos. 2015-01-21 19:38:06 +09:00
3955f76511 Cosmetic 2015-01-21 17:27:14 +09:00
98247fb97f BUGFIX: MSVC doesn't accept typename to specify a dependent scope within
template specialization in C++03 as standard specify it.

This also works on GCC 4.6, 4.8.2 and 4.9 in C++11 and C++03, I needlessly
added this during some debugging where the compiler was telling me to do so.

I shouldn't have followed it's advice, as this breaks compatibility with
other compilers.
2015-01-21 00:28:13 +01:00
5e4978b870 Fix some warnings within tests. 2015-01-21 01:13:19 +09:00
326104a9b7 Fix unexpected overload resolution on MSVC. 2015-01-18 14:15:20 +09:00
ce8bf1079a Support removing the C++11 standard reference wrappers. 2015-01-15 18:58:33 +09:00
28598a7919 doc: Plural form and links. 2015-01-15 18:24:44 +09:00
0360dc44b2 Fix documentation typo of sequence concepts. 2015-01-15 17:48:17 +09:00
fbd6a8a50f Fixing template parameter order and a function parameter type. 2015-01-15 16:13:12 +09:00
e572c382f7 Fixing a broken table notation. 2015-01-15 14:57:48 +09:00
205c0f1eb4 update overview of directory structure. 2015-01-12 23:34:13 +09:00
d7c918e36f Fix ODR-used violations. 2015-01-11 02:15:45 +09:00
f872d1326a The ctor should check which is seqence or not. 2015-01-11 01:15:52 +09:00
54dedc5e98 Update auxiliary.hpp 2015-01-08 19:20:56 +09:00
af1bc25783 - disabling test for now (todo later)
- removing irrelevant tuple test
2015-01-05 17:43:35 +08:00
7d641cbc8f - Update generated preprocessed files
- Disable variadics for MSVC 2013 (flaky compiler still)
2015-01-05 15:49:06 +08:00
f349d48a3f Merge branch 'develop' of github.com:boostorg/fusion into develop 2015-01-05 15:04:34 +08:00
97c863eaa0 (Re)Generating preprocessed files. 2015-01-05 15:03:54 +08:00
85ce2a3eb2 Fix link of result_of::remove_if. 2015-01-05 08:24:14 +09:00
a2269f447e Fix requirements documentation of replace_if. 2015-01-05 08:23:21 +09:00
51d638f51c Fix documentation of transform correctly. 2015-01-05 08:19:31 +09:00
5eb36f590a Merge pull request #47 from Flast/develop
Add tests and flat includes.
2014-12-18 10:38:41 +08:00
b7febc887a Flat includes for std::tuple 2014-12-09 19:54:53 +09:00
45aa4ccf95 Merge pull request #46 from Flast/develop
Improve fusion::deque
2014-12-05 06:17:59 +08:00
24e95c34fb Add tests for #9914 2014-12-05 01:39:27 +09:00
223c7d520f Fix overload resolution failure.
Because the ctor `deque(U &&...)` is also performed as `deque(U const&...)`.
2014-12-05 01:39:27 +09:00
ed9880c161 Fix out of bounds access within {front|back}_extended_deque with empty deque.
The insertion point is not correct with empty deque since the range
{next_down, next_up} is not half-open range.
2014-12-05 01:39:27 +09:00
d05b854c58 Correct variadic based fusion::deque requirements 2014-12-02 08:37:58 +09:00
d185bd5df6 Use call_param for deducing type better. 2014-12-02 08:37:58 +09:00
aa4d67258b Fixed for non rv-ref supporting compiler. 2014-11-30 02:04:32 +09:00
147c76573e Merge pull request #45 from Flast/workaround/for-msvc
Workarounds for MSVC
2014-11-26 07:13:44 +08:00
fbbfc16d2d Workaround for MSVC8.0
I'm not sure why it doesn't compile...
2014-11-26 01:49:07 +09:00
9ab7774fd7 Replace some usage of std::forward to static_cast.
For more details, See inline comment of include/boost/fusion/support/config.hpp .
2014-11-26 01:35:55 +09:00
687668c110 Fix sprious compile error on VS2015 Preview.
MSVC 2015 Preview will treat unary-ctor call as a variable declaration
even if member call follows, which member has the same name with any
other class (i.e. there are no relations between the member and such
class). This issue already reported at [1].

1. https://connect.microsoft.com/VisualStudio/feedback/details/1037783/unary-ctor-call-v-s-variable-decl

    struct foo
    {
        foo(int) {}
        void set() {}
    };

    struct set;

    int main()
    {
        int i;
        foo(i).set(); // VS2015 try to decl `i` here and conflict with above.
    }
2014-11-24 03:07:16 +09:00
2093bf82db Merge pull request #44 from Flast/develop
Fix wrong include
2014-11-19 21:15:46 +08:00
4dd4773d3d Fix wrong include
and add tests for move.
2014-11-19 17:38:16 +09:00
08a6ea79b3 Merge pull request #43 from Flast/vs2015/name-hiding-warning
Mitigate too noisy name-hiding warnings (C4453) on VS2015 Preview.
2014-11-19 16:04:28 +08:00
9075da0790 Mitigate too noisy name-hiding warnings (C4453) on VS2015 Preview.
NOTE: This commit doesn't contain new preprocessed file to review easier.
2014-11-19 13:20:36 +09:00
f68b7b1f5a Merge pull request #42 from daminetreg/fusion_adapters
ADAPT_STRUCT macros supporting type deduction fixes for Clang
2014-11-19 08:33:30 +08:00
2a50f7caad Better patch from Kohei Takahashi! Allows good forwarding on C++11
while still allowing C++03.
2014-11-19 08:31:35 +08:00
c952a5c053 Const correctness fix for result_of::deref_data 2014-11-19 07:54:37 +08:00
bc07cac46c Fix use of non-static "obj" in unevaluated expression context of decltype. 2014-11-18 23:39:53 +01:00
b5018586aa Breaking change of BOOST_FUSION_ADAPT_ADT_NAMED and BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED API to be coherent with the expressions of BOOST_FUSION_ADAPT_ADT thanks to correct usage of BOOST_FUSION_PROXY_PREFIX. 2014-11-18 23:38:47 +01:00
c65000eac8 Merge pull request #41 from Flast/patch-2
`result_of::at<Seq, N>::type` is't defined when sizeof of sequence is less than N
2014-11-19 06:33:04 +08:00
d10f40c489 Merge pull request #40 from Flast/patch-1
result_of::size::value and result_of::size::type::value should be same type
2014-11-19 06:22:41 +08:00
18fa262a4e BUGFIX: Use of non-static member in typedef to retrieve the type. clang doesn't allow this even in unevaluated context like decltype. 2014-11-18 22:50:07 +01:00
c9ae4fc886 result_of::at<Seq, N>::type is't defined when sizeof of sequence is less than N, close #6507, #7651
Original proposals suggest making as a hard error (by MPL asssert /
static assert), however this change just doesn't define due to
SFINAE-friendly.
2014-11-19 02:05:58 +09:00
0f34b3a692 Fixed C++11 implementation of map's result_of::deref_data to return a
reference as expected.
2014-11-18 23:11:20 +08:00
68b4683e95 added missing include 2014-11-18 14:12:07 +08:00
63045e8611 remove unnecessary actor to tighten ADL resolution. the one above it is
sufficient.
2014-11-15 09:54:21 +08:00
f3fa7a1dc6 Fix for fusion pair to make the compiler select the proper copy
constructor and remove a viable, but wrong, constructor. test added.
2014-11-15 09:35:50 +08:00
cc9b043168 result_of::size::value and result_of::size::type::value should be same type, rels to: #7304. 2014-11-13 15:44:30 +09:00
a4660f41af added failing test as per https://github.com/boostorg/fusion/pull/38 2014-11-13 09:03:37 +08:00
6da646631c Merge pull request #38 from ldionne/develop
Fix compilation error with as_deque in C++11.
2014-11-13 07:12:55 +08:00
0ed591d214 Fix compilation error with as_deque in C++11. 2014-11-12 14:59:28 -05:00
15dd9c9d97 test that adapted members can actually be expressions 2014-11-12 11:13:19 +08:00
1dccb553ea Merge pull request #35 from Flast/develop
Minor fixes
2014-11-12 07:39:17 +08:00
a2e32493bb Merge pull request #37 from ldionne/develop
Use BOOST_CONSTEXPR instead of (nonexistant) BOOST_CXX14_CONSTEXPR. (reverted from commit 3280267ed4)
2014-11-12 07:35:19 +08:00
3280267ed4 Merge pull request #37 from ldionne/develop
Use BOOST_CONSTEXPR instead of (nonexistant) BOOST_CXX14_CONSTEXPR.
2014-11-12 07:23:14 +08:00
b7f95ee853 Use BOOST_CONSTEXPR instead of (nonexistant) BOOST_CXX14_CONSTEXPR. 2014-11-11 18:02:03 -05:00
dec799caa8 Merge pull request #36 from ldionne/develop
Fix hard compilation error with nested fusion::cons.
2014-11-12 05:53:39 +08:00
d93e675408 Fix hard compilation error with nested fusion::cons. 2014-11-11 10:23:36 -05:00
06cac9da1a Fix document typo 2014-11-10 16:03:36 +09:00
465c3f273b result_of::{copy,move,swap} are now SFINAE-friendly 2014-11-10 14:38:42 +09:00
6314f1a450 fusion::swap should be inline 2014-11-10 14:34:02 +09:00
916df63a14 Add result_of::{copy,move}, close #5886
Thanks to: Jamboree
2014-11-10 14:32:23 +09:00
b637f2569b Merge pull request #34 from Flast/develop
Misc...
2014-11-09 07:26:20 +08:00
95d2a111ab Add tests for #3225 2014-11-09 02:55:59 +09:00
ff56beaf55 Remove use of boost::blank, close #8622 2014-11-09 00:49:29 +09:00
5dc9f457a0 Merge remote-tracking branch 'origin/develop' into develop 2014-11-09 00:33:56 +09:00
5ff35b6540 Merge pull request #33 from mkurdej/fix/doc-spelling
Fix spelling errors in documentation.
2014-11-08 06:30:29 +08:00
a62956bb12 Fix spelling errors in documentation. 2014-11-07 18:34:18 +01:00
bd5ce92e10 Replace type_traits::ice_and with well documented mpl::and_. 2014-11-08 02:32:06 +09:00
834250a4c8 Describe find(_if) return type clearly. 2014-11-07 13:20:43 +09:00
a87a665072 Fix description of find_if document. 2014-11-07 12:40:25 +09:00
7a7b225fb1 Add boost_tuple_iterator_identity to compare iterator correctly.
And add test for boost_tuple_iterator.
2014-11-06 17:10:31 +09:00
5f416e24fc Use category_of to get correct iterator category. 2014-11-06 17:10:31 +09:00
a7e9bb2df4 Fix to meet constexpr requirements 2014-11-06 17:10:31 +09:00
20ee8d192a Fix missing includes, close ticket #8457.
e.g. Now can compile following simple case.

    #include <boost/fusion/iterator/iterator_facade.hpp>
    #include <boost/fusion/iterator/iterator_adapter.hpp>

    struct null_iterator
        : iterator_facade<null_iterator, forward_traversal_tag> {};

    struct null_adapter
        : iterator_adapter<null_adapter, null_iterator> {};
2014-11-06 17:10:25 +09:00
bf10307430 Merge pull request #32 from Flast/develop
Minor document fixes.
2014-11-03 17:38:43 +08:00
4835310623 Remove unnecessary header, see 5adcb5b 2014-11-03 06:25:08 +09:00
ba0e753cff Fix document typo, close #6090. 2014-11-03 06:24:20 +09:00
b7f0f8856c Tuple document's cosmetic changes 2014-11-03 06:24:20 +09:00
416cd2e2d9 Fix dead links 2014-11-03 06:24:20 +09:00
f3921fee95 Fix tuple heading, close #5324 2014-11-03 06:24:20 +09:00
ec3cefd86f Merge pull request #31 from Flast/develop
Fix three test failures on older and c++03 compiler.
2014-11-02 20:49:23 +08:00
0a13aa5ee4 Change the result_of behaviour with BOOST_RESULT_OF_USE_DECLTYPE
to make consistency between boost::result_of.
2014-11-02 15:08:56 +09:00
7ef4b03249 Fix typo/missing copyright notice, reported by Boost Inspection Report. 2014-11-01 22:12:11 +09:00
f716d2f410 Merge various hotfixes into develop. 2014-11-01 22:00:45 +09:00
1b4acaa1b0 Fix unexpected lookup failure with GCC < 4.5. 2014-11-01 21:16:26 +09:00
4c110d9a88 Regen preprocessed headers. 2014-11-01 20:50:11 +09:00
f73b5362c5 Fix test error with C++03 mode, due to C++11 using-declaration. 2014-11-01 16:53:37 +09:00
df7b766247 Merge pull request #30 from Flast/bugfix/10190/declval
Use boost::declval instead of std::declval, close #10190.
2014-10-31 10:21:38 +08:00
3b3da1a10a Use boost::declval instead of std::declval, close #10190.
Thanks-to: Niklas Angare
2014-10-31 10:09:30 +09:00
6b6d613e15 Merge pull request #29 from Flast/bugfix/msvc-10.0
Fix compile error on MSVC-10 and 11 due to no variadic templates.
2014-10-31 08:21:16 +08:00
c10b94472d Fix compile error on MSVC-10 and 11 due to no variadic templates.
see http://thread.gmane.org/gmane.comp.lib.boost.devel/255086

Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-30 19:44:48 +09:00
101d9d5505 Merge pull request #28 from daminetreg/fusion_adapters
develop merged into fusion_adapters branch
2014-10-29 09:42:55 +08:00
0ffc0f04e3 Merge pull request #27 from Flast/bugfix/misc
Fix some misc issues
2014-10-29 07:22:39 +08:00
c6cb25846c Fix doc typo and describe about c++11 make_map.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-28 18:34:24 +09:00
8dc502d33a Remove dup of internal macro
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-28 14:25:04 +09:00
179e36fa42 Do not expand BOOST_NO_CXX11_RVALUE_REFERENCES while preprocessing.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-28 14:24:48 +09:00
90206f5da9 Fix result type mismatch
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-28 11:45:47 +09:00
ae23ffb8b6 Fix include guard mismatch
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-28 11:45:47 +09:00
5ae01ad6a9 - Added sfinae test case for fold
- Some cleanup
2014-10-28 09:06:42 +08:00
d5eb1e793c Merge pull request #26 from ldionne/master
Improve support for constexpr in fusion::nil and its iterators.
2014-10-28 08:12:04 +08:00
3933df13fb Merge pull request #26 from ldionne/master
Improve support for constexpr in fusion::nil and its iterators.
2014-10-27 22:29:56 +08:00
cdfb1a46b3 Improve support for constexpr in fusion::nil and its iterators. 2014-10-27 10:09:26 -04:00
2f850604e8 Merge remote-tracking branch 'official/develop' into fusion_adapters 2014-10-27 14:00:49 +01:00
c704efb49c correct fix for ticket 10676. this is a temporary fix until we overhaul the fold implementation. 2014-10-27 19:45:38 +08:00
06a46de636 Merge pull request #18 from Flast/fix/test/tr1_tuple
Fix test error on non c++11 environment; Boost.TR1 is deprecated.
2014-10-26 22:07:28 +08:00
3192da28e6 Merge pull request #25 from daminetreg/fusion_adapters
BOOST_FUSION_ADAPT_*_ADT macros supporting type deduction
2014-10-23 08:48:07 +08:00
e50f5852e4 Changes the test cases, as the behaviour about const-qualifier for
attribute_type and attribute_const_type when type is deduced can be
different than when the type is provided.

Indeed when specifying attribute_type and attribute_const_type manually
it's possible to provide a type which isn't const qualified as
attribute_const_type. When deducing the types from the get_expr, a const
and a non const qualified type is taken respectively for attribute_type
and attribute_const_type.
2014-10-22 22:06:31 +02:00
98b71154ec Merge pull request #24 from Flast/bugfix/invoke
Fix tickets #10443 completely (SFINAE-friendly invoke).
2014-10-22 19:08:07 +08:00
e014a1d173 Fix #10443 completely.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-22 19:42:48 +09:00
812e9e379e Fix wrong partial specializations.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-22 01:02:39 +09:00
ba723a2cad Merge pull request #23 from Flast/bugfix/cxx14-constexpr
Improve constexpr supports
2014-10-21 22:55:54 +08:00
020b22f9b9 Fix test for compiler not supporting BOOST_PP_VARIADIC. 2014-10-20 22:32:28 +02:00
3a28c3fd81 Updates the doc of ADAPT_ADTs macros 2014-10-20 21:35:01 +02:00
cfcdbe1195 Change adapt_assoc_tpl_adt to test type inference from templated type. 2014-10-20 21:25:07 +02:00
03ba146d84 lvalue typedef for acess::struct_member is a dependent scope to templated
parameter when used within BOOST_FUSION_ADAPT_ASSOC_TPL_ADT.

This fixes test sequence/adapt_assoc_tpl_adt.cpp.
2014-10-20 12:54:31 +02:00
acf25e3986 Merge pull request #22 from klemensbaum/master
Avoid unused parameter warning in BOOST_FUSION_DEFINE_STRUCT_INLINE
2014-10-20 17:57:59 +08:00
c921b9ca99 Avoid unused parameter warning in BOOST_FUSION_DEFINE_STRUCT_INLINE 2014-10-20 11:48:42 +02:00
6cad6bef99 fixes ticket #10443. invoke is now sfinae friendly. 2014-10-20 06:23:52 +08:00
3d19bf9d96 fixes ticket 10676. for now, we'll use tr1_result_of. we'll have to do an overhaul of the fold implementation because making it sfinae friendly goes deep down into the low level internals. 2014-10-20 05:55:48 +08:00
bebd553dd6 Use BOOST_CXX14_CONSTEXPR instead of BOOST_CONSTEXPR.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-19 23:46:36 +09:00
fdb6598194 Make fold as a single return stmt due to C++11 constexpr.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-18 22:49:09 +09:00
badf3f2a47 Fix forward declaration in conflict with constexpr.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-18 22:49:08 +09:00
bcc2530f19 Do not expand BOOST_{CXX14_}CONSTEXPR while preprocessing.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-18 22:49:08 +09:00
ec9530eb15 Merge pull request #21 from Flast/bugfix/include-guard-mismatch
Fix include guard mismatch.
2014-10-17 21:14:57 +08:00
6adde75b54 Merge pull request #20 from Flast/hotfix/include-guard-mismatch
Fix include guard mismatch.
2014-10-17 21:14:39 +08:00
73f058b381 Fix include guard mismatch.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-17 18:53:45 +09:00
1b2e62f4b9 Fix include guard mismatch.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-17 18:53:03 +09:00
2b5da49628 lvalue access::struct_member was wrongly set to be adt_attribute_proxy<> instead of adt_attribute_proxy<>::type. Shame on me. 2014-10-12 16:25:59 +02:00
cd0d3ce09a add comments for readability. 2014-10-12 14:51:34 +02:00
644d72ccfe adds type deduction support for BOOST_FUSION_ADAPT_ASSOC_ADT. 2014-10-12 14:51:04 +02:00
103b02fda2 add test for BOOST_FUSION_ADAPT_ADT_NAMED deducing types. 2014-10-12 12:50:56 +02:00
d0b3d163c5 Merge pull request #19 from mgaunard/master
avoid unused argument warning in map_impl
2014-10-10 06:11:22 +08:00
561b762f57 avoid unused argument warning in map_impl 2014-10-09 14:17:17 +02:00
b8c65b976c Fix test error on non-c++11 env.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-09 00:57:37 +09:00
790810757a Rename the test tr1_tuple_auto_conv to std_tuple_auto_conv.
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-09 00:56:17 +09:00
c8ffc6498b add documentation for BOOST_FUSION_ADAPT_ADT and type deduction. 2014-10-07 21:39:18 +02:00
0f2f1776be Merge pull request #17 from jzmaddock/patch-1
Change to test std::tuple now that Boost.TR1 is deprecated
2014-09-27 22:28:07 +08:00
f869aa1591 Change to test std::tuple now that Boost.TR1 is deprecated and due to be removed. 2014-09-27 13:22:56 +01:00
aa7b0a6972 Factoring out the workaround to access last variadic parameter.
Indeed when some parameter are BOOST_PP_EMPTY the last parameter is
accessed correctly but results in a compilation error which doesn't stop
some compiler (e.g. g++) to go through the preprocessing pass and still
compile the binary correctly. But to avoid the error message I used a
workaround which behaves better. I preferred factoring it out to make
clear that there are some reason why this element is strangely accessed.
2014-09-23 23:07:00 +02:00
69e67cd1ad BUGFIX: When VARIADICS are active supporting any of the input combination.
That is : BOOST_FUSION_ADAPT_AUTO, omitting type or specifying type.
2014-09-17 00:47:52 +02:00
f0bc2a2ac1 Fix dependents scopes and typedefs with typename keywords. 2014-08-26 23:32:26 +02:00
727f49b49e Improve adapt_adt test to check more case with type deduction. 2014-08-26 22:00:16 +02:00
0eedba5796 Merge pull request #16 from wmamrak/patch-1
Update according to ticket #10403.
2014-08-26 22:29:38 +08:00
0873af5d3c Update according to ticket #10403.
Someone more familiar with this formatting please verify my changes :)
2014-08-26 14:23:32 +02:00
5102d6874f Merge pull request #15 from danieljames/metadata
Create metadata file.
2014-08-19 06:08:17 +08:00
b6c2e9e10b Add metadata file. 2014-08-18 14:59:22 +01:00
7b089aa589 Add support for BOOST_FUSION_ADAPT_ADT to either deduce types or use specified ones. 2014-08-10 17:09:57 +02:00
52d280983b Fix some includes for consistency and use correct accessors macros.
Since we have accessors macros for wrapped attributes we better use them,
to improve readability of the macros.
2014-08-10 15:27:55 +02:00
fe3682ac02 add type deduction support to BOOST_FUSION_ADAPT_ADT_C_BASE. 2014-08-10 15:15:31 +02:00
c8e4172021 Fix indentation. 2014-08-10 15:11:34 +02:00
64c3fc568c Merge pull request #14 from gnzlbg/develop
Initial constexpr support
2014-08-06 20:15:53 +08:00
c2abefbab8 Initial constexpr support
This allows to use, e.g., boost::fusion::fold within constexpr functions.

The BOOST_CONSTEXPR macro is used to declare functions constexpr.
2014-08-06 11:09:40 +02:00
904ec1e676 Merge pull request #13 from daminetreg/fusion_adapters
BOOST_FUSION_ADAPT_ASSOC_STRUCT* deducing types
2014-07-30 06:03:39 +08:00
0715e996e2 Fix the DEFINE_ASSOC_STRUCT macros to use specific FILLER macros, because they cannot need type deduction. 2014-07-29 22:24:23 +02:00
047b052548 Add missing include. 2014-07-29 22:22:54 +02:00
4f941d9760 Merge pull request #12 from fiesh/develop
add automatic hash function creation
2014-07-28 21:03:12 -03:00
fcb579f208 Documented BOOST_FUSION_ADAT_ASSOC* macros with type inference. 2014-07-27 17:19:15 +02:00
a54c543dd7 Adapted test cases for adapt_assoc_tpl_struct with type deduction. 2014-07-27 16:31:15 +02:00
4b0bed40f7 Renamed macro wrapping attribute to a more descriptive name. 2014-07-27 16:07:47 +02:00
a13d1346f6 Adapted tests of assoc_struct to the type-deducing version of the ADAPT* macros. 2014-07-27 15:51:12 +02:00
d71cf19e0f fix documentation, introduce "See also" block 2014-07-24 17:44:37 +02:00
70410d1e07 replaced tabs with 4 spaces 2014-07-24 14:45:45 +02:00
f7685b1194 add automatic hash function creation 2014-07-24 14:22:55 +02:00
a5d6fd0800 Test adapt_assoc_tpl_struct checking support for type deduction. 2014-07-23 02:49:28 +02:00
5422ba7f8f Adds the possibility to omit the member type in ADAPT_ASSOC* macros usage.
This feature is enabled when BOOST_PP_VARIADICS also is, as it rely on it.
A placeholder for the type can be used when BOOST_PP_VARIADICS isn't
active.
2014-07-23 02:42:30 +02:00
17e49ba448 Adds accessors for the wrapped attributes and provide preliminary support for type deduction to ADAPT_ASSOC* macros. 2014-07-23 00:36:07 +02:00
1ab5eef418 Merge pull request #11 from daminetreg/fusion_adapters
ADAPT_STRUCT_NAMED macros supporting type deduction
2014-06-26 03:57:43 +08:00
34fac0c449 Fix ADAPT_*_C / ADAPT_*_C_BASE macros responsible.
These macros are used to handle generation of boilerplate code or each
member to add to the adapted sequence. And in the commit
abff92ab65 we changed the signature of these
macros to handle generation of proxied object field type deduction, this
change simply fix the related macros.
2014-06-25 00:45:38 +02:00
bf66c12cde Fix the unit test of adapt_struct for consistency with other tests of the same kind. 2014-06-25 00:25:14 +02:00
dd0cee1721 Documented type deduction for ADAPT_STRUCT_NAMED. 2014-06-25 00:24:26 +02:00
abff92ab65 Add support for members types deduction to the ADAPT_STRUCT_NAMED macro. 2014-06-25 00:11:40 +02:00
f64c396c66 Merge pull request #10 from daminetreg/fusion_adapters
Fixes the DEFINE_STRUCT* macros after addition of type deduction for ADAPT_STRUCT
2014-06-18 05:54:22 +08:00
c008b0dc3a Fixes the BOOST_FUSION_DEFINE_STRUCT* macros with an appropriate attributes FILLER macro.
As the BOOST_FUSION_ADAPT_STRUCT_FILLER* macros were changed to handle type
deduction, this breaks the usage that BOOST_FUSION_DEFINE_STRUCT makes from
them.

That is BOOST_FUSION_DEFINE_STRUCT_IMPL expects a simple tuple, while we
now provide a tuple containing the size of a nested tuple which either has
or not the type provided. But in the case of the DEFINE* macros it would be
a non-sense to support this kind of API as a field being defined cannot be
deduced. :)
2014-06-17 22:35:10 +02:00
f022949764 Merge pull request #9 from daminetreg/fusion_adapters
Version of ADAPT_STRUCT that does not require specifying the types of the fields
2014-06-15 08:42:32 +08:00
ae0c976926 Fixes missing inclusion of BOOST_PP_LESS.
This was bringing the std::pair adapt test to fail, because it wasn't
including BOOST_PP_LESS like the other tests.
2014-06-14 12:11:44 +02:00
af812e6207 Fixed ADAPT_STRUCT_FILLER macro call for consistency. 2014-06-14 12:09:04 +02:00
f0eab528e9 Fix adapt_struct test which was missing an using keyword. 2014-06-14 11:40:51 +02:00
9a501785e6 Removed the old auto_* headers. 2014-06-13 23:09:39 +02:00
0e50a02fbc Remove deleted unit tests from Jamfile. 2014-06-13 23:09:39 +02:00
2e60ba6f29 Fixed typos and inconsistencies in ADAPT_STRUCT documentation. 2014-06-13 23:09:39 +02:00
4cf96e14f3 Added test for the new ADAPT_STRUCT API capable to deduce member types. 2014-06-13 23:09:39 +02:00
0000ca263b Removing AUTO_ADAPT_STRUCT_NAMED, AUTO_ADAPT_ASSOC_STRUCT and AUTO_ADAPT_ASSOC_STRUCT_NAMED.
As discussed with Agustín Bergé and Joel de Guzman on https://github.com/boostorg/fusion/pull/3,
it's better to remove the separate macro for the type deducting macros, and
to instead support a flexible API allowing backward compatibility and type
omission.

This is what ADAPT_STRUCT and ADAPT_STRUCT_TPL now provides. All other
macros will be improved in the same way in the following commits.
2014-06-13 23:09:39 +02:00
6483cf4058 Adding documentation of the new ADAPT_STRUCT and ADAPT_STRUCT_TPL macros,
capable of deducing type.
2014-06-13 23:09:39 +02:00
04ce8a788b Enabled new ADAPT_STRUCT_API for ADAPT_TPL_STRUCT. 2014-06-13 23:09:38 +02:00
ce3f2d6020 Added new ADAPT_STRUCT API support for the ADAPT_STRUCT_AS_VIEW macro. 2014-06-13 23:09:38 +02:00
687b2cf097 Factoring out of adapt_struct.hpp all the FILLER_* macros details.
As of BOOST_FUSION_ADAPT_STRUCT without type deduction, there were only
simple attributes filler. Now this need more complex logic to handle both
API: the backward compatible one with type specificiation, the one without
type specification and the non-variadic one which enables omitting the type
specification by providing BOOST_FUSION_ADAPT_AUTO instead of the type.

That's why I extracted the FILLER_* macros details in a separate source
file.
2014-06-13 23:09:38 +02:00
c851252f65 Renaming macros for ADAPT_STRUCT to deduce type or take provided attribute types. 2014-06-13 23:09:38 +02:00
557b3d2dc6 Fix detection of member_type parameter emptiness for BOOST_FUSION_ADAPT_STRUCT.
As BOOST_PP_IS_EMPTY is not a general purpose emptiness checker, we limit
the ways it can be used.
2014-06-13 23:09:38 +02:00
7ef202b794 Moved BOOST_FUSION_ADAPT_STRUCT implementation details to detail/adapt_base.hpp 2014-06-13 23:09:38 +02:00
02b776360a FEATURE: BOOST_FUSION_ADAPT_STRUCT can now also be called completely with
variadics arguments.

The following signature is possible :

 BOOST_FUSION_ADAPT_STRUCT(
        struct_name,
        member_name0,
        (BOOST_FUSION_ADAPT_AUTO, member_name1)
        (member_type2, member_name2)
	member_name3,
        ...
        )
2014-06-13 23:09:38 +02:00
37fc1443ad Improve the BOOST_FUSION_ADAPT_STRUCT macro to work also when there is no variadic support.
This enable the following flexible macro signature when there is
no BOOST_PP_VARIADICS support:

BOOST_FUSION_ADAPT_STRUCT(
    struct_name,
    (member_type0, member_name0)
    (BOOST_FUSION_ADAPT_AUTO, member_name1)
    (,member_name2)
    ...
    )

If BOOST_PP_VARIADICS is active then there is quite more flexibility as it
allows to avoid the type specification:

BOOST_FUSION_ADAPT_STRUCT(
    struct_name,
    (member_type0, member_name0)
    (BOOST_FUSION_ADAPT_AUTO, member_name1)
    (,member_name2)
    (member_name3)
    ...
    )
2014-06-13 23:09:29 +02:00
944c363787 Remove dependency to variadics macros for the old API not deducing types. 2014-06-13 23:07:49 +02:00
6f6bfb3a27 EDITORIAL: Cleaning the ADAPT_STRUCT which can deduce types. 2014-06-13 23:07:32 +02:00
04cbf0d4c6 BUGFIX: Presents the correct field name as a string even if type is deduced. 2014-06-13 23:07:32 +02:00
703bff4ff9 FEATURE: Types of a struct can freely pe provided or deduced, following the user preferences. 2014-06-13 23:07:32 +02:00
7e1c6cdf47 FEATURE: Type deduction for BOOST_FUSION_ADAPT_STRUCT_C_BASE, with preliminary support for providing or deducing the type. 2014-06-13 23:07:16 +02:00
3ca94f5762 DOC: Add some comments to help me understand the adapt macros. 2014-06-13 23:04:09 +02:00
c052b4b452 FEATURE: Making BOOST_FUSION_AUTO_ADAPT_STRUCT variadic. 2014-06-13 23:04:09 +02:00
166132789a DOC: Document the BOOST_FUSION_AUTO* macros.
This documents the AUTO_ADAPT macros :
  * BOOST_FUSION_AUTO_ADAPT_STRUCT
  * BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED
  * BOOST_FUSION_AUTO_ADAPT_ASSOC_STRUCT
  * BOOST_FUSION_AUTO_ADAPT_ASSOC_STRUCT_NAMED
2014-06-13 23:04:09 +02:00
435fb5c29f EDITORIAL: Reorganize imports. 2014-06-13 23:04:09 +02:00
934463c7b4 FEATURE: BOOST_FUSION_AUTO_ADAPT_ASSOC_STRUCT_NAMED now allows defining a Random Access Sequence and an Associative sequence without providing the type. 2014-06-13 23:04:08 +02:00
a5f87696f2 EDITORIAL: Rename the macro for type deduction to a more expressive and correct name. 2014-06-13 23:04:08 +02:00
2d37b9c22c EDITORIAL: Fixes typos. 2014-06-13 23:04:08 +02:00
f7b14aee35 FEATURE: BOOST_FUSION_AUTO_ADAPT_ASSOC_STRUCT now allows defining a Random Access Sequence and an Associative sequence without providing the type. 2014-06-13 23:04:08 +02:00
8a132ea44a BUGFIX: Fix include path. 2014-06-13 23:04:08 +02:00
5ffab5001e REFACTORING: reused the BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED_NS macro in BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED to mimic the non-AUTO versions. 2014-06-13 23:04:08 +02:00
e58bd91f27 EDITORIAL: fixed indentation. 2014-06-13 23:04:08 +02:00
5aa9a89fb8 FEATURE: BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED_NS which allows listing class attributes to adapt without specifying types. 2014-06-13 23:04:07 +02:00
0d7ad9f6e2 FEATURE: BOOST_FUSION_AUTO_ADAPT_STRUCT_NAMED that does not require specifying the types of the fields. 2014-06-13 23:04:07 +02:00
946957d3dc EDITORIAL: Change parameter names for consistency. 2014-06-13 23:04:07 +02:00
3f965e00d3 #9516 BOOST_FUSION_AUTO_ADAPT_STRUCT that does not require specifying the types of the fields. 2014-06-13 23:04:07 +02:00
10d363837a Merge pull request #8 from Flast/pr/msvc-10.0/test
Fix test error in msvc-10.0
2014-06-12 17:59:44 +08:00
25bb75e3f8 Fix test error in msvc-10.0
Including fusion/adapted/std_tuple.hpp will occur compile error.
  Therefore, entire test should be ignored.

Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-12 12:24:46 +09:00
2cc2729f51 Merge pull request #7 from Flast/pr/adapt/tuple
Additional supports adapting (BoostTuple implementations
2014-06-09 21:11:03 +08:00
059c041659 Add test for convert seq to std::tuple
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-09 21:59:06 +09:00
f7adae2b3d Add test for convert seq to tuple
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-09 21:59:06 +09:00
f5fe438f14 Add mpl::clear implementation for std::tuple
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-09 21:59:05 +09:00
38bcd6e779 Add mpl::clear implementation for Boost.Tuple
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-09 21:59:05 +09:00
219b4124d7 Add convert implementation for std::tuple
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-06-09 21:59:05 +09:00
39785ddb0e Add convert implementation for Boost.Tuple
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-05-29 01:05:19 +09:00
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
72912925cb Merge pull request #3 from correaa/patch-1
Update tag_of.hpp

Declare std::array with struct keyword, as per C++11, not class.
2014-02-08 10:28:43 +00:00
da294ebc6d Update tag_of.hpp
avoid mismatched-tags warning in clang
2014-02-07 22:24:29 -08:00
beba23f36c Merge pull request #2 from alfC/patch-1
Changed static assertion that checks array size
2014-02-04 11:52:57 -08:00
a2874ea5fe Changed static assertion that checks array size
to a more standard way. This avoids an obscure error involving `extension::std_array_size<Array>`
2014-02-04 11:33:06 -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
e12f59ebf2 Add Jonathan Wakely's opinion from Boost ml 2013-07-07 23:17:42 +01:00
0e24ec0a85 Format 2013-07-06 01:03:18 +01:00
31b1ee7f73 Link N3257 paper and the latest Boost thread 2013-07-06 00:57:08 +01:00
53a1a74a10 Refine the ADL comment 2013-07-06 00:55:58 +01:00
1e2841c683 Add comment on conflicts with C++11 range access 2013-07-05 23:51:23 +01:00
17928ac385 Call build-project to build test from top dir 2013-07-05 23:47:48 +01:00
789b86fd6c Wrap #pragma warning BOOST_MSVC 2013-07-05 23:46:46 +01:00
abb15d1158 Add all-in-one header for std_array 2013-07-04 00:57:44 +01:00
cccbc785d6 Include missing array_size.hpp 2013-07-04 00:57:22 +01:00
6849e31db0 Ignore bin directory 2013-07-04 00:56:53 +01:00
6c130b9e44 Fix ticket number 2013-07-02 13:38:38 +01:00
a49eb03483 Fix links 2013-07-02 13:31:37 +01:00
93a1fc3b87 Initial version of std::array for Boost.Fusion
Functional, though ADL issues have not been solved (see README).
2013-07-02 13:28:20 +01:00
3b24ed44f8 specialization of convert_impl for map_tag, refs #8759
[SVN r84937]
2013-07-02 02:10:04 +00:00
7922147716 update fusion Nil template parameters to Nil_ to make ObjC happy. trac #5010
[SVN r84441]
2013-05-23 01:02:52 +00:00
13d00bd6c2 minor updates to fusion docs
[SVN r84440]
2013-05-22 23:28:12 +00:00
56d0d48eb9 added static assert when N is > size of vector
[SVN r84283]
2013-05-14 21:10:02 +00:00
e83960d3e9 allow map keys to be forward declared only
[SVN r84275]
2013-05-13 23:01:05 +00:00
92ee36a556 Fixes #8336
[SVN r84002]
2013-04-21 14:07:21 +00:00
52298c686e Fixes #8456
[SVN r84001]
2013-04-21 14:00:37 +00:00
80b4ce43c5 Fixes #8418
[SVN r84000]
2013-04-21 13:54:59 +00:00
b36426c8e3 patches from tongari: allow custom Associative Sequence which doesn't have fusion::pair
as elements.

[SVN r83455]
2013-03-16 07:28:23 +00:00
d354c5183b Tweaks for MSVC. MSVC version of map is not yet move enables so it is failing the move test
[SVN r82728]
2013-02-04 12:15:02 +00:00
fb3bd4cea8 minor cleanup
[SVN r82727]
2013-02-04 11:54:59 +00:00
9672fe5385 map move supported + value_at_impl added
[SVN r82726]
2013-02-04 11:52:58 +00:00
085c3c25ca more map tests (including move test)
[SVN r82725]
2013-02-04 11:52:18 +00:00
85119dbd21 added as_map
fixed bug: wrong iterator category for map_iterator

[SVN r82721]
2013-02-04 09:52:52 +00:00
764a31e9f5 fixed typo
[SVN r82714]
2013-02-04 06:22:50 +00:00
228401d898 More map tests and more API features implemented + tweaks to affected components
[SVN r82713]
2013-02-04 06:21:45 +00:00
aba201eb4e Added more map tests
[SVN r82712]
2013-02-04 06:20:10 +00:00
9c5d6bcc8c added pair < operator for case where key (first type) is the same.
[SVN r82709]
2013-02-04 04:10:29 +00:00
7b6cf39540 modern c++11 map implemented + various tweaks
[SVN r82708]
2013-02-04 03:49:34 +00:00
996f4152d2 modern c++11 map implemented
[SVN r82707]
2013-02-04 03:46:42 +00:00
d128c6f6aa Moving non-variadic map implementation to detail/cpp03 directory
[SVN r82701]
2013-02-03 11:50:48 +00:00
fec1da027c Cleanup deque to clearly separate the C++03 code from c++11 code
[SVN r82698]
2013-02-03 10:31:46 +00:00
a1a6e42590 Removing the preprocessed file generation which is meant for internal use only
[SVN r82697]
2013-02-03 10:13:41 +00:00
4272519a3c cleanup
[SVN r82670]
2013-01-31 15:56:00 +00:00
9dcdfa323f Better deque conversion
[SVN r82669]
2013-01-31 15:31:28 +00:00
5a520585d8 Fixes #7955
[SVN r82668]
2013-01-31 13:01:36 +00:00
1823f30420 Some cleanup
[SVN r82636]
2013-01-27 14:41:39 +00:00
f96bbef8fa MSVC (VC11) fixes for latest updates
[SVN r82634]
2013-01-27 12:15:26 +00:00
f1687bffcf Added LF at the end
[SVN r82632]
2013-01-27 10:14:40 +00:00
6c17c04ce6 Workaround for some tests on C++11 to allow disambiguation of && and const& arguments to ctors
[SVN r82631]
2013-01-27 10:14:16 +00:00
b7d02a8c55 + Fixes ticket #7914
+ C++11 implementations for make_deque, deque_tie and as_deque

[SVN r82630]
2013-01-27 07:17:01 +00:00
6a47d86d72 C++ fixes
[SVN r82629]
2013-01-27 07:13:58 +00:00
2f61e2b707 disabling some tests with errors on c++11
[SVN r82628]
2013-01-27 04:24:40 +00:00
ea0cad5800 Added fusion::move algorithm
[SVN r82550]
2013-01-19 14:37:00 +00:00
f9d6e05676 Applied patches for Tickets #7738, #7737 and #7646
[SVN r82348]
2013-01-04 01:43:06 +00:00
211b47b47d clarify in fusion docs that associative sequences are not checked for key uniqueness.
[SVN r81891]
2012-12-13 09:41:50 +00:00
6d265316ed Workaround for ObjC (mis)use of nil (from Mathias Gaunard)
[SVN r81628]
2012-11-30 02:31:23 +00:00
8d6200ef58 Removed usage of deprecated macros in Boost.Fusion and Boost.Spirit
[SVN r81569]
2012-11-26 18:44:46 +00:00
e1819c11b2 Remove usage of deprecated macros
[SVN r81452]
2012-11-21 03:12:31 +00:00
cfbbba272e Fixes for Ticket #7569 ( Compile Error using BOOST_FUSION_DEFINE_STRUCT_INLINE with VC10 and GCC <4.5 )
[SVN r81165]
2012-11-04 00:18:41 +00:00
d01148d339 Fixed typo
[SVN r81164]
2012-11-03 23:44:36 +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
f760ed7b8f removing c++11 requirements in jamfile (mistakenly added)
[SVN r80865]
2012-10-05 06:15:02 +00:00
752f911a91 #7427 (Warning fixes in fusion)
[SVN r80812]
2012-10-02 01:12:19 +00:00
b57cd4ede9 - patch from nathan ridge
- fixed deque regression 

[SVN r80458]
2012-09-09 00:27:37 +00:00
a856857cb7 - Fixed code to allow decltype implementation of boost::result_of with BOOST_RESULT_OF_USE_DECLTYPE defined.
- Reverted sequence/iterator.hpp to original <correct-no-workaround> version.

[SVN r80396]
2012-09-04 13:42:14 +00:00
78ff3d8831 Fixed code to allow decltype implementation of boost::result_of with BOOST_RESULT_OF_USE_DECLTYPE defined.
[SVN r80395]
2012-09-04 13:40:38 +00:00
80799eed95 C++11 fixes for deque
[SVN r80392]
2012-09-04 05:04:26 +00:00
35ec74edbc C++11 fixes for deque
[SVN r80391]
2012-09-04 05:04:25 +00:00
106702d388 Fix to silence MSVC warnings (Nathan Ridge)
[SVN r80368]
2012-09-03 07:08:47 +00:00
4382b64aa7 Updated changelog
removed unmaintained todo.txt

[SVN r80347]
2012-09-01 02:12:46 +00:00
26ba07f36c move-assign test tweaks
[SVN r80346]
2012-09-01 02:02:09 +00:00
a53f93ff1a move-assign for vector
[SVN r80345]
2012-09-01 02:01:26 +00:00
705ca2b61b move-assign for deque
[SVN r80344]
2012-09-01 01:04:12 +00:00
e587ad4d50 Added move-assign test
[SVN r80343]
2012-09-01 01:02:46 +00:00
3613310b62 deque move-ctor OK on gcc
[SVN r80334]
2012-08-31 15:58:31 +00:00
5946ab9936 deque move-ctor OK on gcc
[SVN r80333]
2012-08-31 15:57:49 +00:00
c8b47ca3ca Added move ctors for vector and deque (deque for gcc partially working for now)
no preprocessed files yet

[SVN r80331]
2012-08-31 14:33:12 +00:00
16de1dcd01 Added move ctors for vector and deque (deque for gcc partially working for now)
[SVN r80330]
2012-08-31 14:32:08 +00:00
038976991e Fixed MSVC errors (from Nathan Ridge)
[SVN r80326]
2012-08-31 04:12:29 +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
4ccb4328f6 Fusion: fixing bogus preprocessor directive (missing newline at end of file)
[SVN r79788]
2012-07-28 20:44:56 +00:00
eaf9e79e85 latest patch from Nathan Ridge
[SVN r79306]
2012-07-05 23:40:17 +00:00
a3b0cad1e7 latest oatch from Nathan Ridge
[SVN r79305]
2012-07-05 23:39:50 +00:00
5a51e5d9aa Merge from trunk
[SVN r79274]
2012-07-05 04:40:37 +00:00
85583b5ea9 allow boolean traits implementations to use std::true_type and std::false_type
[SVN r79131]
2012-06-27 04:27:50 +00:00
191a3d75ed Fix for Ticket #6965 from Joel Falcou
[SVN r79099]
2012-06-26 10:16:35 +00:00
136331963a Added test for Ticket #6965
[SVN r79098]
2012-06-26 10:14:49 +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
70589c53c6 BOOST_FUSION_DEFINE_STRUCT_INLINE patch by Nathan Ridge
[SVN r78509]
2012-05-19 01:24:55 +00:00
ed3776ce8c BOOST_FUSION_DEFINE_STRUCT_INLINE patch by Nathan Ridge
[SVN r78508]
2012-05-19 01:24:16 +00:00
a46bd7ab72 patch for ticket #6910 by michel
[SVN r78507]
2012-05-19 01:18:43 +00:00
8ce40ebd0c Patch by Nathan Ridge to allow BOOST_FUSION_ADAPT_ADT adapted classes to be compared using relational operators.
[SVN r78490]
2012-05-17 01:10:20 +00:00
51ade6529c typo fix by Mario Lang
[SVN r78464]
2012-05-14 00:41:42 +00:00
b63c8214d7 Patches from Nathan Ridge using SFINAE to disable the Fusion algorithms for non-{Fusion sequence} types
[SVN r78463]
2012-05-14 00:37:21 +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
66e8a6d3b7 Doc updates for deque
[SVN r78199]
2012-04-26 00:03:42 +00:00
524769f6fb patch for clang from Michel Morin
[SVN r78176]
2012-04-24 01:40:17 +00:00
654dfbedb8 patch for clang from Michel Morin
[SVN r78175]
2012-04-24 01:39:43 +00:00
fad4a7ebeb rearranging files
[SVN r78106]
2012-04-21 06:09:54 +00:00
01f002f084 tweaked cref_result and ref_result to be non-lazy (for consistency).
[SVN r78058]
2012-04-18 02:57:56 +00:00
c8224c8bdf deque fix for ambiguity and making ctors explicit
[SVN r78056]
2012-04-18 01:18:10 +00:00
b7eda8d0f4 Doc updates for deque
[SVN r77984]
2012-04-15 09:47:19 +00:00
ecc87abaab more deque updates
[SVN r77967]
2012-04-14 00:57:15 +00:00
a3c2258017 Added deque docs
[SVN r77879]
2012-04-10 02:30:18 +00:00
d87b5a8000 minor tweaks
[SVN r77814]
2012-04-07 12:02:16 +00:00
b34a8c79e8 hide detail stuff
[SVN r77812]
2012-04-07 11:07:35 +00:00
ec99f829f3 updates
[SVN r77811]
2012-04-07 10:57:10 +00:00
2936fd30fb missing include
[SVN r77810]
2012-04-07 10:26:23 +00:00
a36f0f95cb c++ port of deque working
[SVN r77809]
2012-04-07 10:08:00 +00:00
93ce3bd9bf c++ port of deque underway
[SVN r77808]
2012-04-07 09:56:07 +00:00
e15c27bc8b partial update (upgrade to c++11)
[SVN r77805]
2012-04-07 07:54:18 +00:00
92d51dcfa8 c++11 version start
[SVN r77803]
2012-04-07 07:43:05 +00:00
221e07a7a3 + bumped copyright date
+ mpl::int_ optimizations

[SVN r77802]
2012-04-07 07:34:00 +00:00
2038772e90 fixed wrong spelling
[SVN r77472]
2012-03-22 10:45:12 +00:00
b6142f1613 Add newlines at end of file to avoid warnings like this:
boost/include/boost/fusion/tuple/detail/preprocessed/tuple.hpp:21:7: warning: no newline at end of file



[SVN r77424]
2012-03-20 02:12:55 +00:00
df0fbd1d9d typo fix
[SVN r77114]
2012-02-25 01:09:58 +00:00
b159898a47 Fix missed merge from 6338
[SVN r76791]
2012-01-30 00:13:38 +00:00
38cd16639d Fixes Ticket #6372
[SVN r76395]
2012-01-10 02:03:43 +00:00
1c51ad943a Fix for ticket #6338
[SVN r76238]
2011-12-31 05:48:27 +00:00
9a8955fbe1 Merge from trunk
[SVN r75980]
2011-12-16 02:14:17 +00:00
a25a7092d8 Patches from Tim Blechmann
[SVN r75976]
2011-12-16 00:14:49 +00:00
48e4118768 Fixes for MSVC workarounds from Freundlich: http://codepad.org/wRelwDJt
[SVN r75595]
2011-11-21 14:43:19 +00:00
0a520f6021 fix problem where sizeof(int) != sizeof(long)
[SVN r75563]
2011-11-20 10:59:09 +00:00
bbf10066bc C++11 patches by Michel Morin
[SVN r75394]
2011-11-07 22:07:05 +00:00
44b337abb0 Fix Ticket #6067
[SVN r75320]
2011-11-05 01:05:04 +00:00
c2052a3c0c Fix Ticket #6067
[SVN r75318]
2011-11-04 20:37:33 +00:00
480183059e + Fixes Ticket #6016 using a two-level specialization such that specialization is preferred over SFINAE.
+ Removes tag_of_fallback. It's not needed anymore. The proper way is to specialize tag_of.

[SVN r74934]
2011-10-13 00:23:40 +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
fd82b51cec Wrong version. Should be 2.2 + fixed copyright notices and dates
[SVN r74886]
2011-10-10 10:37:53 +00:00
24bca52c5e Wrong version. Should be 2.2.
[SVN r74885]
2011-10-10 10:08:44 +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
459a1dba3d Bumped copyright date and version to 2.1 (it's about time!).
[SVN r74883]
2011-10-10 10:05:49 +00:00
10274e7884 Made map random access. Thanks to Brandon Kohn!
[SVN r74882]
2011-10-10 09:55:52 +00:00
b6df98e86c Made map random access. Thanks to Brandon Kohn!
[SVN r74881]
2011-10-10 09:55:41 +00:00
01156b172a Fix for ticket #6000
[SVN r74873]
2011-10-10 02:33:13 +00:00
4be9e08af7 Fix for ticket #6000
[SVN r74872]
2011-10-10 00:59:32 +00:00
f46b2aeb73 Fix for ticket #6000
[SVN r74871]
2011-10-10 00:58:24 +00:00
21301c93dc Fix for ticket #6000
[SVN r74870]
2011-10-10 00:47:40 +00:00
295bacb652 Merge from trunk
[SVN r74791]
2011-10-08 08:23:11 +00:00
b905aa11af Added adapter for std::tuple (only for implementations using variadic templates)
[SVN r74788]
2011-10-08 03:47:16 +00:00
e08976a68d fix for case where Sequence is const
[SVN r74589]
2011-09-27 11:45:24 +00:00
a0db9cc855 Fusion: fix tag_of_fallback
[SVN r74574]
2011-09-26 12:02:10 +00:00
0b875180bf Removed unmaintained changelist.txt. Just use SVN log.
[SVN r74570]
2011-09-26 05:44:44 +00:00
b7fb20e69a Fusion: updates
[SVN r74566]
2011-09-25 17:36:13 +00:00
159426b8af Added adapter for std::tuple (only for implementations using variadic templates)
[SVN r74547]
2011-09-24 13:07:24 +00:00
b2c3737eaf Added adapter for std::tuple (only for implementations using variadic templates)
[SVN r74546]
2011-09-24 13:07:09 +00:00
d1a397c427 Patch to make deriving from fusion::sequence_facade makes the derived class an MPL sequence by Nathan Ridge.
[SVN r74473]
2011-09-20 01:48:47 +00:00
674f60e9b1 const-correctness patch by Nathan Ridge.
[SVN r74472]
2011-09-20 01:41:38 +00:00
2dd633a572 fixed missing includes in main hpp files
[SVN r74463]
2011-09-19 00:12:42 +00:00
9b16a51364 preprocessed files gen for algorithm
[SVN r74449]
2011-09-18 10:48:29 +00:00
5ee02a7546 wave preprocessor driver update
[SVN r74448]
2011-09-18 10:45:06 +00:00
223e14f702 More preprocessed files. This completes the container module.
[SVN r74446]
2011-09-18 10:03:59 +00:00
af90b6660b patch to silence clang warning
[SVN r74441]
2011-09-18 00:28:09 +00:00
b1b90af9be More preprocessed files
[SVN r74431]
2011-09-17 06:55:06 +00:00
3c92230f82 More preprocessed files
[SVN r74429]
2011-09-17 05:52:59 +00:00
0ed54e9ea3 added iterator_adapter 'Category' template parameter which defaults to Iterator_::category
[SVN r74428]
2011-09-17 03:21:13 +00:00
265bdc7342 Added default typedef mpl::false_ is_segmented;
[SVN r74427]
2011-09-17 03:14:12 +00:00
5f4d31abc7 Added preprocessed files to speed compilation
[SVN r74426]
2011-09-17 02:41:58 +00:00
f31150f58a fixed and updated copyright dates
[SVN r74415]
2011-09-16 07:00:41 +00:00
41fe830b8a Added preprocessed files to speed compilation
[SVN r74414]
2011-09-16 06:51:21 +00:00
473ef579b9 Added preprocessed files to speed compilation
[SVN r74412]
2011-09-16 06:44:55 +00:00
7365eb0a36 Added preprocessed files to speed compilation
[SVN r74411]
2011-09-16 06:22:19 +00:00
d5eaf8b496 Bumped copyright date
[SVN r74410]
2011-09-16 05:56:36 +00:00
7847f22a2c Bumped copyright date
[SVN r74409]
2011-09-16 05:55:52 +00:00
b23e05741c Added preprocessed files to speed compilation
[SVN r74408]
2011-09-16 05:47:57 +00:00
0e7a013851 Bumped copyright date
[SVN r74407]
2011-09-16 05:30:23 +00:00
86063cada9 Bumped copyright date
[SVN r74406]
2011-09-16 05:27:16 +00:00
619280939a include vectorN for only what's needed depending on FUSION_MAX_VECTOR_SIZE
[SVN r74405]
2011-09-16 05:12:58 +00:00
601415c6bb Added preprocessed files to speed compilation
[SVN r74404]
2011-09-16 05:07:53 +00:00
2a8b3f9c5b Added preprocessed files to speed compilation
[SVN r74403]
2011-09-16 04:50:19 +00:00
a21a748f24 Added preprocessed files to speed compilation
[SVN r74397]
2011-09-16 03:13:52 +00:00
5ebd31fe32 Added preprocessed files to speed compilation
[SVN r74393]
2011-09-16 01:35:29 +00:00
e7ed008af5 Added preprocessed files to speed compilation
[SVN r74392]
2011-09-16 01:34:26 +00:00
0ba9acbfa4 Replace fusion documentation with redirect.
[SVN r74332]
2011-09-10 07:42:13 +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
90b15e1c9b add missing include to try to make msvc9~stlport toolset happy
[SVN r74113]
2011-08-28 22:48:40 +00:00
df6017dc1c fix use of incomplete fusion::nil as caught by clang
[SVN r74019]
2011-08-23 15:13:30 +00:00
def510808d bug fixes to segmented fusion support, more fwd headers
[SVN r73927]
2011-08-19 18:41:11 +00:00
eb903d71a7 enable segmented tests
[SVN r73908]
2011-08-19 02:04:40 +00:00
9fcb3105e5 make fold aware of segments
[SVN r73906]
2011-08-18 23:14:48 +00:00
5ff6210759 make for_each aware of segments
[SVN r73899]
2011-08-18 22:09:59 +00:00
b8bb98a36b simplify segmented_fold_until interface
[SVN r73898]
2011-08-18 21:33:39 +00:00
9dd14c435e make find and find_if algorithms segment-aware, stylistic consistency tweaks
[SVN r73892]
2011-08-18 17:12:05 +00:00
528ad04fdb baking segmented Fusion
[SVN r73854]
2011-08-17 18:53:56 +00:00
2baebc560a continue great segmented Fusion reorg
[SVN r73834]
2011-08-16 23:43:24 +00:00
2ccb8d604f progress with integrating the segmented Fusion work
[SVN r73831]
2011-08-16 23:07:51 +00:00
2212f57287 Fix Ticket #5784
[SVN r73774]
2011-08-15 10:53:13 +00:00
afbda073a3 naming tweaks
[SVN r73771]
2011-08-15 06:53:35 +00:00
9ed1f3d606 use iterator_facade to simplify implementation of segmented_iterator
[SVN r73770]
2011-08-15 06:20:24 +00:00
a339669d05 Better is_equal test
[SVN r73699]
2011-08-12 12:16:23 +00:00
1c8d339bb0 Better is_equal test
[SVN r73698]
2011-08-12 12:07:36 +00:00
adbdf8550c Back on track. The code is fine again.
[SVN r73697]
2011-08-12 11:51:57 +00:00
b3649b9343 Back on track. The code is fine again.
[SVN r73696]
2011-08-12 11:45:11 +00:00
c1dd1fa279 Back on track. The code is fine again.
[SVN r73695]
2011-08-12 11:43:24 +00:00
8b80a11877 revert to prior (again).
[SVN r73692]
2011-08-12 07:24:00 +00:00
faa5746f6d added main empty_impl template forward decl
[SVN r73689]
2011-08-12 05:18:44 +00:00
acc306d783 Added Eric's test cases for pop_back
[SVN r73687]
2011-08-12 05:15:08 +00:00
734b9222d2 revert the implementation to previous version, but changed it such that prior is not used. used advance instead which is ok for forward iterators.
[SVN r73686]
2011-08-12 05:14:06 +00:00
744dbcbbc7 added case for equal_to that returns false immediately if the tags are different in the first place
[SVN r73685]
2011-08-12 05:13:03 +00:00
48a0546eea added static sanity check
[SVN r73684]
2011-08-12 05:11:41 +00:00
f0fa80ca1a const-correctness tweaks
[SVN r73683]
2011-08-11 23:58:03 +00:00
5d07df005b fix find_s and find_if_s to return the end iterator when item not found
[SVN r73669]
2011-08-11 17:49:02 +00:00
b83a2954f5 segmented_fold_until should unpack the state's value before invoking the user's function
[SVN r73668]
2011-08-11 17:28:17 +00:00
3af35683ff QOI + small bug fixes
[SVN r73659]
2011-08-11 15:34:58 +00:00
5497ea367e QOI + small bug fixes
[SVN r73658]
2011-08-11 15:34:39 +00:00
5bca571dd1 - Made pop_back not use prior.-
Refactored pop_back_iterator into a reusable iterator_adaptor

[SVN r73657]
2011-08-11 14:49:55 +00:00
5ebfd961aa Refactored pop_back_iterator into a reusable iterator_adaptor
[SVN r73656]
2011-08-11 14:46:22 +00:00
1865ded339 Refactored pop_back_iterator into a reusable iterator_adaptor
[SVN r73655]
2011-08-11 14:45:10 +00:00
e8b0f98a55 Refactored pop_back_iterator into a reusable iterator_adaptor
[SVN r73654]
2011-08-11 14:43:59 +00:00
760c1a534c minor tweaks
[SVN r73645]
2011-08-11 08:52:10 +00:00
d9c5b32687 new cleaner(?) implementation for segmented fusion
[SVN r73644]
2011-08-11 04:14:50 +00:00
00b2cfc52e Made pop_back not use prior.
[SVN r73643]
2011-08-10 22:03:09 +00:00
21c17fda63 Added pop_back test for lists
[SVN r73642]
2011-08-10 22:01:37 +00:00
518ac25a80 merged [73583] from trunk
[SVN r73606]
2011-08-08 06:29:25 +00:00
491b6fb7d8 remove bogus compile-time asserts
[SVN r73583]
2011-08-07 00:06:32 +00:00
adc8be256f fixed wording to make it clear that I/O operators are only available for sequences in fusion's namespace
[SVN r73247]
2011-07-19 23:29:06 +00:00
efea9aec4b merge [72977] from trunk, regenerate docs
[SVN r73156]
2011-07-16 21:16:10 +00:00
f27ed26e44 make single_view random access
[SVN r72977]
2011-07-08 19:42:35 +00:00
0a54764a6a Added docs for copy
[SVN r72930]
2011-07-06 18:29:02 +00:00
f4f93005ad Added docs for copy
[SVN r72929]
2011-07-06 18:16:56 +00:00
92c2362cef Fix Ticket #4755
[SVN r72601]
2011-06-14 22:57:24 +00:00
01424b06b3 added version of fold (overload) accepting non-const State.
[SVN r71179]
2011-04-10 23:45:34 +00:00
ed4206ee1b Fixes Ticket #5426
[SVN r71026]
2011-04-06 04:55:57 +00:00
b17d6b9147 Fixes Ticket #5420
[SVN r71025]
2011-04-06 04:29:02 +00:00
b54e4b1b06 MPL bug workaround. Fixes Trac ticket: #5411
[SVN r70965]
2011-04-03 23:20:13 +00:00
b3226a5107 Applied patch #5275
[SVN r70841]
2011-04-01 23:38:39 +00:00
756af8cc4c Include <utility> instead of forward declaring std::pair
[SVN r70731]
2011-03-30 00:23:23 +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
407657d56c Updateded: fixed 'requirement' errors
[SVN r70297]
2011-03-21 04:08:44 +00:00
690735de20 added test for copy
[SVN r70009]
2011-03-16 00:02:38 +00:00
80e3f4128b Added missing include
[SVN r70008]
2011-03-15 23:57:13 +00:00
7215d8835f fixed assign bug
[SVN r69589]
2011-03-05 23:37:25 +00:00
21588d6dac fixed wrong return type
[SVN r69583]
2011-03-05 14:48:47 +00:00
dcbebe60f1 Merge from trunk
[SVN r69453]
2011-03-02 00:08:13 +00:00
1efa444f24 renamed assign to copy and moved it to a new algorithm/auxiliary category
[SVN r69137]
2011-02-22 01:30:12 +00:00
dc2303d38b assign should be void
[SVN r69118]
2011-02-21 10:15:24 +00:00
7bfe445d72 new assign intrinsic
[SVN r69113]
2011-02-21 01:08:53 +00:00
0521159fdc sequence/comparison/less_equal.hpp: bug fix in code used only by Visual C++ 7.1 and 8.0
[SVN r68358]
2011-01-21 20:41:06 +00:00
577a607a14 fix for VC8 (connected to ticket 5084 -showstopper)
[SVN r68325]
2011-01-20 20:47:25 +00:00
5129f45066 fix for VC8
[SVN r68323]
2011-01-20 19:57:20 +00:00
beec2bff62 Fusion: adapt-macros: allow empty boost.pp sequences; refs #5093
[SVN r68303]
2011-01-19 17:46:05 +00:00
aa30bad7e4 fix 1.46 showstopper, fix #5084
[SVN r68264]
2011-01-19 04:28:17 +00:00
7f3cd8b46a putting is_native_fusion_sequence in is_sequence.hpp where it belongs.
[SVN r68259]
2011-01-19 00:10:13 +00:00
1da53e2c3f - hoisted enable_equality, enable_comparison and is_native_fusion_sequence to fusion::traits namespace
- added SFINAE-enable
(http://article.gmane.org/gmane.comp.parsers.spirit.devel/3902)

[SVN r68225]
2011-01-18 12:49:01 +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
d4f11a0537 Applied patch; refs #2823; will merge to release once tests cycle
[SVN r67745]
2011-01-07 01:17:40 +00:00
cd811f56bc Fusion: merge from trunk
[SVN r67492]
2010-12-29 19:54:59 +00:00
c15dd57405 Fusion: mask fusion::begin/fusion::end with SFINAE, fixes #4028
[SVN r67352]
2010-12-19 18:35:52 +00:00
e8539e1165 Fusion: typo fix, fixes #4877
[SVN r67337]
2010-12-19 15:11:12 +00:00
b508b8e62c Fusion: fixed missing is_native_fusion_sequence for MSVC 7.1 and MSVC 8.0
[SVN r66477]
2010-11-10 07:59:18 +00:00
6eba238b69 Fusion: removed fusion::sequence_root; Fixes #2335
[SVN r66411]
2010-11-06 12:21:18 +00:00
09bd088660 Fusion: functional includes fixes; fixes #4729
[SVN r65974]
2010-10-15 11:40:37 +00:00
7aa4e2cbda Fusion: merge from trunk - fixed minor doc typos
[SVN r65895]
2010-10-10 20:57:01 +00:00
8abe272391 Fusion: fixed minor doc typos
[SVN r65894]
2010-10-10 20:23:28 +00:00
9792f67700 Fusion: merge from trunk
[SVN r65821]
2010-10-07 22:58:44 +00:00
088b8a0201 Fusion: ADAPT_xxxADTxxx; documentation&new testcase
[SVN r65816]
2010-10-07 20:38:54 +00:00
b8784f6bbc Fusion: fixed yet another typo
[SVN r65758]
2010-10-04 21:34:44 +00:00
569e23c71c Fusion: BOOST_FUSION_ADAPT_ADT documentation (2)
[SVN r65757]
2010-10-04 21:16:42 +00:00
b761e0e0c0 Fusion: BOOST_FUSION_ADAPT_ADT documentation
[SVN r65756]
2010-10-04 20:50:31 +00:00
a3427ea75b Fusion: merge from trunk
[SVN r65735]
2010-10-03 09:46:00 +00:00
21d676dd87 Fusion: added adt_attribute_proxy-getter
[SVN r65728]
2010-10-02 18:39:23 +00:00
f723f870c7 Fusion/Spirit: adt_attribute_proxy refactorization
[SVN r65445]
2010-09-17 20:38:23 +00:00
5adcb5b4d2 Fusion: BOOST_FUSION_ADAPT_xxxCLASSxxx -> BOOST_FUSION_ADAPT_xxxADTxxx
[SVN r65439]
2010-09-16 16:33:25 +00:00
e5dd49bc15 Fusion: documentation fixes
[SVN r65060]
2010-08-27 20:36:00 +00:00
a18ab9db86 lvalue fold states. Fixes #4582
[SVN r64947]
2010-08-22 13:16:49 +00:00
084b3028d8 fix for #4580
[SVN r64946]
2010-08-22 11:29:45 +00:00
aa1bcfaa9a refactored extension::struct_member to extension::access::struct_member
[SVN r64490]
2010-07-31 00:17:34 +00:00
134fbf9600 fix for adapted classes' category
[SVN r63805]
2010-07-10 10:06:33 +00:00
c879ab02c3 fix for adapted classes' category
[SVN r63804]
2010-07-10 10:01:57 +00:00
199d8b548f merged fusion from the trunk (3)
[SVN r63757]
2010-07-08 18:32:12 +00:00
237165e1e9 added the new folds to the changelist
[SVN r63752]
2010-07-08 17:25:24 +00:00
0f4ac2e9e3 Merge rebuilt fusion documentation with missing file.
[SVN r63737]
2010-07-08 07:50:58 +00:00
05edb33019 Rebuild fusion docs - with missing file this time.
[SVN r63731]
2010-07-08 07:10:41 +00:00
32adb57290 Merge rebuilt fusion documentation.
[SVN r63631]
2010-07-04 20:19:01 +00:00
880f7ed33e Rebuild fusion documentation.
[SVN r63626]
2010-07-04 19:20:50 +00:00
02b2a88bea merged fusion from the trunk (2)
[SVN r63562]
2010-07-03 20:31:16 +00:00
a1af4051cd added missing doc files
[SVN r63561]
2010-07-03 20:28:03 +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
38319d25cc fixed c/p error
[SVN r63440]
2010-06-29 19:55:22 +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
4b1e5607e1 Fix a copy/paste error.
[SVN r63220]
2010-06-22 04:20:26 +00:00
c57b658e79 Document repetitive_view. Fixes #1864.
[SVN r63219]
2010-06-22 04:17:12 +00:00
f26c90729a Update various libraries' documentation build.
Mostly to use the images and css files under doc/src instead of
doc/html, usually be deleting the settings in order to use the defaults.
Also add 'boost.root' to some builds in order to fix links which rely on
it.

[SVN r63146]
2010-06-20 18:00:48 +00:00
758178a2a8 added reverse_fold/iter_fold/reverse_iter_fold (2) (fixes #1623)
[SVN r63083]
2010-06-18 17:23:20 +00:00
ea89db72cb added reverse_fold/iter_fold/reverse_iter_fold (1)
[SVN r63066]
2010-06-17 21:21:37 +00:00
7d14098b21 Explicitly cast array::static_size to an int. Fixes #2761
[SVN r62893]
2010-06-13 03:06:14 +00:00
378858f270 Fix headers for set_fwd and map_fwd. Fixes #3237
[SVN r62891]
2010-06-13 01:45:12 +00:00
9b7b9db979 Translate fusion iterator categories to MPL iteraotr categories for fusion_iterator. Fixes #3204.
[SVN r62889]
2010-06-13 01:22:41 +00:00
c9a5364472 Clean up GCC warnings. Fixes #3033.
[SVN r62869]
2010-06-12 17:59:10 +00:00
7c986ebd61 Clean up MSVC build. Fixes #1619. Fixes #3074.
[SVN r62854]
2010-06-12 15:58:31 +00:00
d5f6d5eafe Fix #include guard of boost/fusion/include/has_key.hpp. Fixes #4070
[SVN r62828]
2010-06-12 00:52:14 +00:00
d250c447b2 fixed conflict detected by g++4.x between fusion::at and mpl::at
[SVN r62675]
2010-06-09 17:39:26 +00:00
c02a3ba001 documentation update - fixes #4281
[SVN r62398]
2010-06-03 08:29:23 +00:00
11228c420f fusion::tag_of/fusion::detail::is_specialized should not complain for non-adapted std::pair/boost::array/...
[SVN r61836]
2010-05-07 15:02:22 +00:00
6465c3b3ea adapted proxy types are views now
[SVN r61833]
2010-05-07 13:37:34 +00:00
909f1bba8f added /fusion/view/single_view.hpp and /fusion/view/nview.hpp to /fusion/view.hpp
[SVN r61761]
2010-05-04 16:23:01 +00:00
95555f3f20 removes outdated and defunct files
[SVN r61599]
2010-04-26 23:34:55 +00:00
837d5b0604 fix #1614
[SVN r61488]
2010-04-22 13:15:01 +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
8d5aefc7de documentation update
[SVN r61202]
2010-04-11 15:01:17 +00:00
dc8225a7aa merge from trunk
[SVN r61189]
2010-04-11 00:31:21 +00:00
2f8b22dd93 documentation update
[SVN r61187]
2010-04-10 18:55:44 +00:00
83db52797b ADAPT_STRUCT_DEFINE_PROXY_TYPE refactoring
[SVN r61178]
2010-04-10 14:35:13 +00:00
994b37e4d5 merge from trunk
[SVN r61043]
2010-04-04 14:43:54 +00:00
073ce9e4a3 added intrusive struct generating macros
[SVN r61018]
2010-04-03 13:34:20 +00:00
d8a40f48a6 Fusion: applied workaround for broken VC10
[SVN r60263]
2010-03-07 02:19:16 +00:00
f8c6e5efb6 Fusion: added missing #include's
[SVN r60262]
2010-03-07 02:15:59 +00:00
e67765747d better adapt structs/classes implementation
[SVN r59913]
2010-02-25 20:10:37 +00:00
f84bc30bd3 adapt template classes/structs
[SVN r59846]
2010-02-22 22:55:54 +00:00
bb88841f47 adapt plain old array types (3)
[SVN r59578]
2010-02-07 19:12:26 +00:00
47f535df5b adapt plain old array types (2)
[SVN r59577]
2010-02-07 18:48:09 +00:00
5eb9c03cd2 adapt plain old array types (1)
[SVN r59576]
2010-02-07 18:22:06 +00:00
b86d7dbe80 Fusion: fixed ambiguities in tests on VC10
[SVN r59347]
2010-01-29 16:02:14 +00:00
83ed7ffada Fusion: minor fix for adapt_class_named
[SVN r59346]
2010-01-29 15:45:50 +00:00
4910f26ce9 Fusion: minor fix for adapt_class_named
[SVN r59345]
2010-01-29 15:45:24 +00:00
c24441c83d Fusion: added tests for adapt_class_named
[SVN r59341]
2010-01-29 15:04:57 +00:00
6647f0c8a4 Fusion: fixed adapt_class to be usable with Spirit, added adapt_class_named
[SVN r59340]
2010-01-29 15:03:35 +00:00
0d5ff2fc01 Fusion: added tests for adapt_struct_named
[SVN r59339]
2010-01-29 13:49:38 +00:00
95ccc6f48f Fusion: added docs for BOOST_FUSION_ADAPTED_STRUCT_NAMED
[SVN r59338]
2010-01-29 03:03:31 +00:00
3873f007e8 Fusion: more work on adapt_struct_named
[SVN r59337]
2010-01-29 01:58:50 +00:00
e7c00c1843 Fusion adding ADAPT_NAMED_STRUCT
[SVN r59335]
2010-01-28 21:27:32 +00:00
dae19f1781 Fusion: adding overload for const parameter types
[SVN r59276]
2010-01-27 16:25:41 +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
f7fd836354 corrected category_of documentation (2)
[SVN r58568]
2009-12-29 18:29:59 +00:00
b1b171f130 corrected category_of documentation
[SVN r58559]
2009-12-29 14:10:17 +00:00
d366a4f0e2 updated changelog
[SVN r58558]
2009-12-29 13:44:01 +00:00
514d48903b associative forward iterators in example and docs
[SVN r58549]
2009-12-28 17:45:42 +00:00
f0cd405f04 mpl::sequence_tag specialization for adapted types
[SVN r58396]
2009-12-15 13:30:02 +00:00
2587757d47 corrected reverse_view
[SVN r58299]
2009-12-11 21:01:22 +00:00
f1da55c1e9 avoid iterator invalidation in segmented_range, fixes #3583
[SVN r57622]
2009-11-13 02:52:34 +00:00
b605617c4f Fusion: merged fixes for MSVC warnings from trunk
[SVN r57533]
2009-11-10 02:37:19 +00:00
03290abb85 Fusion: silenced a couple of MSVC warnings created during Spirit test runs
[SVN r57502]
2009-11-09 03:57:40 +00:00
65895017bd associative_sequence_tag -> associative_tag
[SVN r57337]
2009-11-03 17:35:33 +00:00
60fabbdf9a Fusion: adding a missing 'const'
[SVN r57248]
2009-10-30 15:14:50 +00:00
dab67207cf associative iterators & views (Fixes #3473)
[SVN r57242]
2009-10-30 00:19:19 +00:00
9b26b4a0f7 associative iterators & views
[SVN r57156]
2009-10-25 22:59:54 +00:00
35e469e2d5 fix for #2355: discrepancy between std::accumulate and fusion::accumulate
[SVN r57125]
2009-10-24 10:59:01 +00:00
43f861ca87 rm cmake from trunk. I'm not entirely sure this is necessary to satisfy the inspect script, but I'm not taking any chances, and it is easy to put back
[SVN r56942]
2009-10-17 02:07:38 +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
d978cec6b6 Fix default construction of vector
[SVN r56709]
2009-10-11 04:00:00 +00:00
e26d26d511 Fusion: added size_impl for nview
[SVN r56610]
2009-10-05 22:30:23 +00:00
9ebe273fb3 Fusion: fixing nview tests
[SVN r56609]
2009-10-05 22:29:10 +00:00
a110ea9304 Fixing mismatch of default parameter values
[SVN r56607]
2009-10-05 22:00:09 +00:00
959b0b0839 Fusion: fixing mismatch in default parameter to nview
[SVN r56604]
2009-10-05 21:36:55 +00:00
9a1bc7d677 BOOST_FUSION_ADAPT_CLASS
[SVN r56576]
2009-10-04 16:59:50 +00:00
178973a05c BOOST_FUSION_ADAPT_CLASS
[SVN r56575]
2009-10-04 16:59:37 +00:00
e0a17b552c Fusion: merged nview from trunk
[SVN r56490]
2009-09-30 02:33:30 +00:00
7b89755a67 Fusion: fixed a couple of typos in docs
[SVN r56472]
2009-09-29 14:48:36 +00:00
fdb399e022 Fusion: fixing regression tests
[SVN r56435]
2009-09-27 16:36:53 +00:00
cb5b63fa93 Fusion: fixed another const correctness problem
[SVN r56383]
2009-09-25 17:24:55 +00:00
8ce4280e27 Fusion: doc fix
[SVN r56382]
2009-09-25 14:00:55 +00:00
37f57fbf7f Fusion: resolved const correctness issue
[SVN r56381]
2009-09-25 13:57:30 +00:00
10c0665ffa Fusion: added nview and friends, docs and tests
[SVN r56377]
2009-09-25 00:21:53 +00:00
43645b3764 Fusion: added nview and friends
[SVN r56376]
2009-09-25 00:20:03 +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
b16d42a31b reduce fusion, proto and xpressive warnings under msvc /Za switch
[SVN r55838]
2009-08-28 16:45:21 +00:00
0dd1f341c8 Fix PDF image paths.
[SVN r55759]
2009-08-24 10:32: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
564280e622 Make the unrolled implementation of all work for multiples of four. Fixes #2599.
[SVN r55686]
2009-08-20 14:01:39 +00:00
2e33d288b1 Copyrights on CMakeLists.txt to keep them from clogging up the inspect
reports.  This is essentially the same commit as r55095 on the release
branch.



[SVN r55159]
2009-07-26 00:49:56 +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
c0eebc8121 Fix #1601
[SVN r54850]
2009-07-10 00:50:05 +00:00
14b27978e3 Fix #1601
[SVN r54849]
2009-07-10 00:49:51 +00:00
04cf9c863b typo fix
[SVN r54325]
2009-06-25 03:07:23 +00:00
fb7671141a fix ticket#1894
[SVN r54047]
2009-06-18 03:23:51 +00:00
08045fc46e Fix ticket #2158
[SVN r53985]
2009-06-17 02:11:43 +00:00
cb0a2c3c2e patched ticket #4512
[SVN r53956]
2009-06-16 02:23:44 +00:00
253c763b45 Fix Ticket #1614:
[SVN r53917]
2009-06-15 03:30:35 +00:00
3ed2803482 Fix Ticket #1614:
[SVN r53916]
2009-06-15 02:07:19 +00:00
63ce990a8c fix trac issue #1608
[SVN r53915]
2009-06-15 01:54:01 +00:00
363ff5750f fix trac issue #1608
[SVN r53914]
2009-06-15 01:53:43 +00:00
8f34038ddd introduces test case for unfusing adapter
[SVN r53906]
2009-06-14 18:31:09 +00:00
c88e8803fb introduces test for unfusing adapter
[SVN r53905]
2009-06-14 18:30:02 +00:00
fb3de90679 introduces unfused adapter
[SVN r53903]
2009-06-14 11:09:03 +00:00
916077ce6b update for trac #1893
[SVN r53856]
2009-06-13 06:29:32 +00:00
dace0940b7 fix ticket #1529
[SVN r53765]
2009-06-09 04:02:33 +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
6447c5371e reduce number of template instantiations
[SVN r53566]
2009-06-02 05:46:21 +00:00
f0b6c8b1e2 Fusion: added explicit disambiguation for fusion::at
[SVN r53029]
2009-05-15 15:28:34 +00:00
e1ac68f526 Trying to fix ambiguities of operator<<() for unused_type.
[SVN r52511]
2009-04-20 14:57:57 +00:00
9acd9b2feb added default implementation for iterator_facade
[SVN r51864]
2009-03-20 09:45:36 +00:00
c81456f35e Protected unused_type by an ADL barrier
[SVN r51654]
2009-03-09 01:17:20 +00:00
08a038ad51 Fix: remove non-existent test
[SVN r51393]
2009-02-22 16:33:27 +00:00
b7e3828810 adjusts to changes in functional module, also resolves compile problems
[SVN r51383]
2009-02-22 06:36:52 +00:00
534809fbb7 updates functional module: only two unfused variants, now
[SVN r51382]
2009-02-22 06:35:35 +00:00
aaf89a67a6 updates functional module: only two unfused variants, now
[SVN r51381]
2009-02-22 06:27:12 +00:00
2fdfd41b17 updates functional module: only two unfused variants, now
[SVN r51380]
2009-02-22 06:24:38 +00:00
a26354b70e updates functional module: only two unfused variants, now
[SVN r51379]
2009-02-22 06:23:56 +00:00
064dbedaa5 #define to allow testing if unused_type has IO
[SVN r51286]
2009-02-17 11:18:20 +00:00
35149161aa use vectorN instead of vector for shorter names
[SVN r51285]
2009-02-17 10:37:31 +00:00
010c94ba87 fix wrong include
[SVN r50937]
2009-02-01 00:00:58 +00:00
5dff610007 merge of cmake build files from trunk per beman
[SVN r50756]
2009-01-24 18:57:20 +00:00
1c8e2ccfe4 added streaming for unused_type
[SVN r50168]
2008-12-06 23:35:05 +00:00
fad40f6c9d changed the result of as_vector to return the numbered forms (i.e vectorN)
[SVN r49778]
2008-11-16 01:00:37 +00:00
7c8f9e3b6d changed as_vector to return the numbered forms (i.e. vectorN)
[SVN r49777]
2008-11-16 00:59:42 +00:00
6ff5a74d9d updated make_vector to return numered forms instead
[SVN r49768]
2008-11-15 11:08:49 +00:00
b543bd13e7 minor doc typo
[SVN r49767]
2008-11-15 11:07:56 +00:00
82fd215b99 Updating dependency information for modularized libraries.
[SVN r49628]
2008-11-07 17:05:27 +00:00
e0cc53e8a9 Continuing merge of CMake build system files into trunk with the encouragement of Doug Gregor
[SVN r49510]
2008-11-01 13:15:41 +00:00
e2d23b8a63 bugfix to fold test, and new transform test
[SVN r49470]
2008-10-27 22:13:20 +00:00
d3f057e88c added fold test and simplified repetition in the Makefile
[SVN r49456]
2008-10-26 14:39:59 +00:00
38147bb4d6 Adding simple compile time tests
[SVN r49409]
2008-10-20 21:36:04 +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
575ce8ca26 Fix cyclic dependencies between Boost.fusion.tuples and TR1.
Fixes #2261.

[SVN r48820]
2008-09-17 17:20:22 +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
d8d881ac6f attempt to work around early instantiation problem on edg-based compilers
[SVN r48769]
2008-09-14 04:46:32 +00:00
399b268bf1 fix #1600 (duplicate include guard)
[SVN r48600]
2008-09-05 02:39:34 +00:00
24f0323699 added missing include
[SVN r48369]
2008-08-25 07:14:20 +00:00
a8fe0fa44a more conformance tweaks to std tr1
[SVN r48258]
2008-08-20 12:56:53 +00:00
814c40a093 fixed typo
[SVN r48256]
2008-08-20 12:36:13 +00:00
7c74332487 conform to TR1 to the letter
[SVN r48244]
2008-08-20 08:20:40 +00:00
e165418461 conform to TR1 to the letter
[SVN r48243]
2008-08-20 08:20:19 +00:00
c51fc2ebee fixed non-ascii chars
[SVN r47676]
2008-07-22 09:07:07 +00:00
4a2214739c fixed non-ascii chars
[SVN r47675]
2008-07-22 09:06:54 +00:00
0b58f052b3 doc updates (mini tweaks)
[SVN r47668]
2008-07-22 02:06:42 +00:00
ef1e821173 added info on how to map to and from MPL
[SVN r47647]
2008-07-21 07:25:52 +00:00
af0e42f13e list-at optimization
[SVN r47643]
2008-07-20 23:14:15 +00:00
36736edec5 pair doc fix
[SVN r47528]
2008-07-17 23:59:40 +00:00
8506cd8be6 pair doc fix
[SVN r47527]
2008-07-17 23:59:22 +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
8b749bef46 With his kind permission, change Jaakko "Järvi" to "Jarvi"
[SVN r46808]
2008-06-28 13:45:21 +00:00
91ea13a593 Fusion: Fixed a VC level 4 warning
[SVN r44794]
2008-04-27 01:04:25 +00:00
6d462cbd63 Changed macro BOOST_PARTIAL_SPECIALIZATION_EXPLICIT_ARGS to BOOST_NO_PARTIAL_SPECIALIZATION_DEFAULT_ARGS.
Changed <utility> to <boost/config/no_tr1/utility.hpp> in order to prevent cyclic dependencies between Fusion Tuples and TR1.

[SVN r44692]
2008-04-21 12:06:02 +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
9a622b6904 Generated documentation which is no longer generated.
[SVN r43213]
2008-02-10 16:21:22 +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
f199472458 Removing fusion variant adapter
[SVN r42224]
2007-12-20 23:28:26 +00:00
2c1a03f785 Removing fusion variant adapter
[SVN r42223]
2007-12-20 23:24:28 +00:00
bcbd2ff112 tweakbug fix for end_impl (tweak).
[SVN r42167]
2007-12-19 10:42:04 +00:00
67279d5c3d bug fix for end_impl. (test)
[SVN r42165]
2007-12-19 10:33:39 +00:00
61bf0151da bug fix for end_impl.
[SVN r42164]
2007-12-19 10:33:14 +00:00
e9fd448376 fixed documentation bug
[SVN r42116]
2007-12-17 09:27:42 +00:00
300f35fadd Strips top-level cv-qualifiers off non-reference types, now.
[SVN r41642]
2007-12-03 13:25:26 +00:00
6168061f97 remove old unused file
[SVN r41519]
2007-12-01 01:11:44 +00:00
9a1f176df2 fixed link
[SVN r41489]
2007-11-30 10:07:41 +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
6e7e8a12eb bug fix
[SVN r41299]
2007-11-22 08:39:46 +00:00
4919faec58 removing failing test on EDG compilers
[SVN r41117]
2007-11-15 21:15:47 +00:00
d785c34d56 fix support for segmented iteration
[SVN r41093]
2007-11-14 16:36:15 +00:00
5359a24800 refresh docs
[SVN r41080]
2007-11-14 10:17:09 +00:00
d7c204356f removes superfluous remove_reference in result computation, as reported by Eric Niebler
[SVN r41008]
2007-11-11 17:56:21 +00:00
b241cdf25d fix mismatch include guard
[SVN r40975]
2007-11-09 22:38:18 +00:00
1646 changed files with 114436 additions and 51270 deletions

467
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,467 @@
name: GitHub Actions CI
on:
pull_request:
push:
branches:
- master
- develop
- githubactions*
- feature/**
- fix/**
- pr/**
jobs:
posix:
strategy:
fail-fast: false
matrix:
include:
- name: "TOOLSET=gcc-4.4 CXXSTD=98,0x Job 0"
buildtype: "boost"
packages: "g++-4.4"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.4"
cxxstd: "98,0x"
- name: "TOOLSET=gcc-4.6 CXXSTD=03,0x Job 1"
buildtype: "boost"
packages: "g++-4.6"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.6"
cxxstd: "03,0x"
- name: "TOOLSET=gcc-4.7 CXXSTD=03,11 Job 2"
buildtype: "boost"
packages: "g++-4.7"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.7"
cxxstd: "03,11"
- name: "TOOLSET=gcc-4.8 CXXSTD=03,11,1y Job 3"
buildtype: "boost"
packages: "g++-4.8"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.8"
cxxstd: "03,11,1y"
- name: "TOOLSET=gcc-4.9 CXXSTD=03,11,14 Job 4"
buildtype: "boost"
packages: "g++-4.9"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-4.9"
cxxstd: "03,11,14"
- name: "TOOLSET=gcc-5 CXXSTD=03,11,14,17 Job 5"
buildtype: "boost"
packages: "g++-5"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-5"
cxxstd: "03,11,14,17"
- name: "TOOLSET=gcc-6 CXXSTD=03,11,14,17 Job 6"
buildtype: "boost"
packages: "g++-6"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-6"
cxxstd: "03,11,14,17"
- name: "TOOLSET=gcc-7 CXXSTD=03,11,14,17 Job 7"
buildtype: "boost"
packages: "g++-7"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-7"
cxxstd: "03,11,14,17"
- name: "TOOLSET=gcc-8 CXXSTD=03,11,14,17,2a Job 8"
buildtype: "boost"
packages: "g++-8"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "gcc-8"
cxxstd: "03,11,14,17,2a"
- name: "TOOLSET=clang-3.5 CXXSTD=03,11,14,1z Job 9"
buildtype: "boost"
packages: "clang-3.5"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.5"
cxxstd: "03,11,14"
- name: "TOOLSET=clang-3.6 CXXSTD=03,11,14,1z Job 10"
buildtype: "boost"
packages: "clang-3.6"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.6"
cxxstd: "03,11,14"
- name: "TOOLSET=clang-3.7 CXXSTD=03,11,14,1z Job 11"
buildtype: "boost"
packages: "clang-3.7"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.7"
cxxstd: "03,11,14"
- name: "TOOLSET=clang-3.8 CXXSTD=03,11,14,1z Job 12"
buildtype: "boost"
packages: "clang-3.8"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.8"
cxxstd: "03,11,14"
- name: "TOOLSET=clang-3.9 CXXSTD=03,11,14,1z Job 13"
buildtype: "boost"
packages: "clang-3.9"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-3.9"
cxxstd: "03,11,14"
- name: "TOOLSET=clang-4.0 CXXSTD=03,11,14,1z Job 14"
buildtype: "boost"
packages: "clang-4.0"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: ""
llvm_ver: ""
toolset: "clang-4.0"
cxxstd: "03,11,14"
- name: "TOOLSET=clang-5.0 CXXSTD=03,11,14,17,2a Job 15"
buildtype: "boost"
packages: "clang-5.0"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "5.0"
toolset: "clang-5.0"
cxxstd: "03,11,14,17,2a"
- name: "TOOLSET=clang-6.0 CXXSTD=03,11,14,17,2a Job 16"
buildtype: "boost"
packages: "clang-6.0"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "6.0"
toolset: "clang-6.0"
cxxstd: "03,11,14,17,2a"
- name: "TOOLSET=clang-7 CXXSTD=03,11,14,17,2a Job 17"
buildtype: "boost"
packages: "clang-7"
packages_to_remove: ""
os: "ubuntu-20.04"
container: "ubuntu:16.04"
cxx: "g++"
sources: ""
llvm_os: "xenial"
llvm_ver: "7"
toolset: "clang-7"
cxxstd: "03,11,14,17,2a"
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
steps:
- name: Check if running in container
if: matrix.container != ''
run: echo "GHA_CONTAINER=${{ matrix.container }}" >> $GITHUB_ENV
- name: If running in container, upgrade packages
if: matrix.container != ''
run: |
apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget curl apt-transport-https make apt-file sudo unzip libssl-dev build-essential autotools-dev autoconf automake g++ libc++-helpers python ruby cpio gcc-multilib g++-multilib pkgconf python3 ccache libpython-dev
sudo apt-add-repository ppa:git-core/ppa
sudo apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 -y install git
python_version=$(python3 -c 'import sys; print("{0.major}.{0.minor}".format(sys.version_info))')
sudo wget https://bootstrap.pypa.io/pip/$python_version/get-pip.py
sudo python3 get-pip.py
sudo /usr/local/bin/pip install cmake
- uses: actions/checkout@v2
- name: linux
shell: bash
env:
CXX: ${{ matrix.cxx }}
SOURCES: ${{ matrix.sources }}
LLVM_OS: ${{ matrix.llvm_os }}
LLVM_VER: ${{ matrix.llvm_ver }}
PACKAGES: ${{ matrix.packages }}
PACKAGES_TO_REMOVE: ${{ matrix.packages_to_remove }}
JOB_BUILDTYPE: ${{ matrix.buildtype }}
TOOLSET: ${{ matrix.toolset }}
CXXSTD: ${{ matrix.cxxstd }}
COMPILER: ${{ matrix.compiler }}
TRAVIS_BRANCH: ${{ github.base_ref }}
TRAVIS_OS_NAME: "linux"
run: |
echo '==================================> SETUP'
echo '==================================> PACKAGES'
set -e
if [ -n "$PACKAGES_TO_REMOVE" ]; then sudo apt-get purge -y $PACKAGES_TO_REMOVE; fi
echo ">>>>> APT: REPO.."
for i in {1..3}; do sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" && break || sleep 2; done
if test -n "${LLVM_OS}" ; then
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
if test -n "${LLVM_VER}" ; then
sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS}-${LLVM_VER} main"
else
# Snapshot (i.e. trunk) build of clang
sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS} main"
fi
fi
echo ">>>>> APT: UPDATE.."
sudo -E apt-get -o Acquire::Retries=3 update
if test -n "${SOURCES}" ; then
echo ">>>>> APT: INSTALL SOURCES.."
for SOURCE in $SOURCES; do
sudo -E apt-add-repository ppa:$SOURCE
done
fi
echo ">>>>> APT: INSTALL ${PACKAGES}.."
sudo -E DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Retries=3 -y --no-install-suggests --no-install-recommends install ${PACKAGES}
echo '==================================> INSTALL AND COMPILE'
set -e
export TRAVIS_BUILD_DIR=$(pwd)
export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')}
export VCS_COMMIT_ID=$GITHUB_SHA
export GIT_COMMIT=$GITHUB_SHA
export REPO_NAME=$(basename $GITHUB_REPOSITORY)
export USER=$(whoami)
export CC=${CC:-gcc}
export PATH=~/.local/bin:/usr/local/bin:$PATH
if [ "$JOB_BUILDTYPE" == "boost" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule init libs/array
git submodule init libs/assert
git submodule init libs/bind
git submodule init libs/concept_check
git submodule init libs/config
git submodule init libs/container_hash
git submodule init libs/conversion
git submodule init libs/core
git submodule init libs/detail
git submodule init libs/function
git submodule init libs/function_types
git submodule init libs/functional
git submodule init libs/integer
git submodule init libs/iterator
git submodule init libs/lambda
git submodule init libs/move
git submodule init libs/mpl
git submodule init libs/optional
git submodule init libs/predef
git submodule init libs/preprocessor
git submodule init libs/smart_ptr
git submodule init libs/static_assert
git submodule init libs/throw_exception
git submodule init libs/tuple
git submodule init libs/type_index
git submodule init libs/type_traits
git submodule init libs/typeof
git submodule init libs/utility
git submodule init libs/headers tools/boost_install tools/build
git submodule update
rm -rf libs/fusion
cp -rp $TRAVIS_BUILD_DIR libs/fusion
ln -s $(pwd)/libs/fusion $TRAVIS_BUILD_DIR
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
./b2 -j`(nproc || sysctl -n hw.ncpu) 2> /dev/null` libs/fusion/test toolset=$TOOLSET cxxstd=$CXXSTD
fi
osx:
strategy:
fail-fast: false
matrix:
include:
- name: "TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,1 Job 18"
buildtype: "boost"
packages: ""
os: "macos-10.15"
cxx: "clang++"
sources: ""
llvm_os: ""
llvm_ver: ""
xcode_version: 11.7
toolset: "clang"
compiler: "clang++"
cxxstd: "03,11,14,1z"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Set DEVELOPER_DIR
if: matrix.xcode_version != ''
run: echo "DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode_version }}.app/Contents/Developer" >> $GITHUB_ENV
- name: Test DEVELOPER_DIR
run: echo $DEVELOPER_DIR
- name: "osx"
shell: bash
env:
CXX: ${{ matrix.cxx }}
SOURCES: ${{ matrix.sources }}
LLVM_OS: ${{ matrix.llvm_os }}
LLVM_VER: ${{ matrix.llvm_ver }}
PACKAGES: ${{ matrix.packages }}
JOB_BUILDTYPE: ${{ matrix.buildtype }}
TOOLSET: ${{ matrix.toolset }}
CXXSTD: ${{ matrix.cxxstd }}
COMPILER: ${{ matrix.compiler }}
TRAVIS_BRANCH: ${{ github.base_ref }}
TRAVIS_OS_NAME: "osx"
run: |
echo '==================================> SETUP'
set -e
sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.bck
echo '==================================> PACKAGES'
echo '==================================> INSTALL AND COMPILE'
set -e
export TRAVIS_BUILD_DIR=$(pwd)
export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')}
export VCS_COMMIT_ID=$GITHUB_SHA
export GIT_COMMIT=$GITHUB_SHA
export REPO_NAME=$(basename $GITHUB_REPOSITORY)
export USER=$(whoami)
export CC=${CC:-gcc}
export PATH=~/.local/bin:/usr/local/bin:$PATH
if [ "$JOB_BUILDTYPE" == "boost" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule init libs/array
git submodule init libs/assert
git submodule init libs/bind
git submodule init libs/concept_check
git submodule init libs/config
git submodule init libs/container_hash
git submodule init libs/conversion
git submodule init libs/core
git submodule init libs/detail
git submodule init libs/function
git submodule init libs/function_types
git submodule init libs/functional
git submodule init libs/integer
git submodule init libs/iterator
git submodule init libs/lambda
git submodule init libs/move
git submodule init libs/mpl
git submodule init libs/optional
git submodule init libs/predef
git submodule init libs/preprocessor
git submodule init libs/smart_ptr
git submodule init libs/static_assert
git submodule init libs/throw_exception
git submodule init libs/tuple
git submodule init libs/type_index
git submodule init libs/type_traits
git submodule init libs/typeof
git submodule init libs/utility
git submodule init libs/headers tools/boost_install tools/build
git submodule update
rm -rf libs/fusion
cp -rp $TRAVIS_BUILD_DIR libs/fusion
ln -s $(pwd)/libs/fusion $TRAVIS_BUILD_DIR
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
./b2 -j`(nproc || sysctl -n hw.ncpu) 2> /dev/null` libs/fusion/test toolset=$TOOLSET cxxstd=$CXXSTD
fi

251
.travis.yml Normal file
View File

@ -0,0 +1,251 @@
# Copyright 2016, 2017 Peter Dimov
# Copyright 2017-2018 Kohei Takahashi
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
language: cpp
sudo: false
os:
- linux
- osx
env:
matrix:
- BOGUS_JOB=true
matrix:
exclude:
- env: BOGUS_JOB=true
include:
- os: linux
dist: xenial
env: TOOLSET=gcc-4.4 CXXSTD=98,0x
addons:
apt:
packages:
- g++-4.4
sources:
- ubuntu-toolchain-r-test
#- os: linux
# dist: xenial
# env: TOOLSET=gcc-4.5 CXXSTD=03,0x
# addons:
# apt:
# packages:
# - g++-4.5
# sources:
# - ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.6 CXXSTD=03,0x
addons:
apt:
packages:
- g++-4.6
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.7 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.7
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.8 CXXSTD=03,11,1y
addons:
apt:
packages:
- g++-4.8
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.9 CXXSTD=03,11,14
addons:
apt:
packages:
- g++-4.9
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-5 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-5
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-6 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-6
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-7 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-7
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-8 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- g++-8
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=clang-3.5 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.5
- os: linux
dist: xenial
env: TOOLSET=clang-3.6 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.6
- os: linux
dist: xenial
env: TOOLSET=clang-3.7 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.7
- os: linux
dist: xenial
env: TOOLSET=clang-3.8 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.8
- os: linux
dist: xenial
env: TOOLSET=clang-3.9 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.9
- os: linux
dist: xenial
env: TOOLSET=clang-4.0 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-4.0
- os: linux
dist: xenial
env: TOOLSET=clang-5.0 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- clang-5.0
sources:
- llvm-toolchain-xenial-5.0
- os: linux
dist: xenial
env: TOOLSET=clang-6.0 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- clang-6.0
sources:
- llvm-toolchain-xenial-6.0
- os: linux
dist: xenial
env: TOOLSET=clang-7.0 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- clang-7
sources:
- llvm-toolchain-xenial-7
- os: osx
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
install:
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd ..
- git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule init libs/array
- git submodule init libs/assert
- git submodule init libs/bind
- git submodule init libs/concept_check
- git submodule init libs/config
- git submodule init libs/container_hash
- git submodule init libs/conversion
- git submodule init libs/core
- git submodule init libs/detail
- git submodule init libs/function
- git submodule init libs/function_types
- git submodule init libs/functional
- git submodule init libs/integer
- git submodule init libs/iterator
- git submodule init libs/lambda
- git submodule init libs/move
- git submodule init libs/mpl
- git submodule init libs/optional
- git submodule init libs/predef
- git submodule init libs/preprocessor
- git submodule init libs/smart_ptr
- git submodule init libs/static_assert
- git submodule init libs/throw_exception
- git submodule init libs/tuple
- git submodule init libs/type_index
- git submodule init libs/type_traits
- git submodule init libs/typeof
- git submodule init libs/utility
- git submodule init libs/headers tools/boost_install tools/build
- git submodule update
- rm -rf libs/fusion
- mv $TRAVIS_BUILD_DIR libs/fusion
- ln -s $(pwd)/libs/fusion $TRAVIS_BUILD_DIR
- ./bootstrap.sh
- ./b2 headers
script:
- ./b2 -j`(nproc || sysctl -n hw.ncpu) 2> /dev/null` libs/fusion/test toolset=$TOOLSET cxxstd=$CXXSTD

55
CMakeLists.txt Normal file
View File

@ -0,0 +1,55 @@
# Copyright 2018 Mike Dev
# Distributed under the Boost Software License, Version 1.0.
# See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt
if(NOT DEFINED IDF_TARGET)
cmake_minimum_required(VERSION 3.5...3.20)
project(boost_fusion VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
add_library(boost_fusion INTERFACE)
add_library(Boost::fusion ALIAS boost_fusion)
target_include_directories(boost_fusion INTERFACE include)
target_link_libraries(boost_fusion
INTERFACE
Boost::config
Boost::container_hash
Boost::core
Boost::function_types
Boost::mpl
Boost::preprocessor
Boost::static_assert
Boost::tuple
Boost::type_traits
Boost::typeof
Boost::utility
Boost::functional
)
else()
FILE(GLOB_RECURSE headers include/*.h include/*.hpp)
idf_component_register(
SRCS
${headers}
INCLUDE_DIRS
include
REQUIRES
boost_config
boost_container_hash
boost_core
boost_function_types
boost_mpl
boost_preprocessor
boost_static_assert
boost_tuple
boost_type_traits
boost_typeof
boost_utility
boost_functional
)
endif()

96
appveyor.yml Normal file
View File

@ -0,0 +1,96 @@
# Copyright 2016, 2017 Peter Dimov
# Copyright 2017-2018 Kohei Takahashi
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
version: 1.0.{build}-{branch}
shallow_clone: true
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-9.0
ADDRMD: 32
CXXSTD: latest # fake
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-10.0
ADDRMD: 32
CXXSTD: latest # fake
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-11.0
ADDRMD: 32
CXXSTD: latest # fake
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-12.0
ADDRMD: 32
CXXSTD: latest # fake
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-14.0
CXXSTD: 14
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-14.0
CXXSTD: latest
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: msvc-14.1
CXXSTD: 14
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: msvc-14.1
CXXSTD: 17
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: msvc-14.1
CXXSTD: latest
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: clang-win
CXXSTD: 14
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: clang-win
CXXSTD: 17
install:
- set BOOST_BRANCH=develop
- if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master
- cd ..
- git clone --depth 1 -b %BOOST_BRANCH% https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule init libs/array
- git submodule init libs/assert
- git submodule init libs/bind
- git submodule init libs/concept_check
- git submodule init libs/config
- git submodule init libs/container_hash
- git submodule init libs/conversion
- git submodule init libs/core
- git submodule init libs/detail
- git submodule init libs/function
- git submodule init libs/function_types
- git submodule init libs/functional
- git submodule init libs/integer
- git submodule init libs/iterator
- git submodule init libs/lambda
- git submodule init libs/move
- git submodule init libs/mpl
- git submodule init libs/optional
- git submodule init libs/predef
- git submodule init libs/preprocessor
- git submodule init libs/smart_ptr
- git submodule init libs/static_assert
- git submodule init libs/throw_exception
- git submodule init libs/tuple
- git submodule init libs/type_index
- git submodule init libs/type_traits
- git submodule init libs/typeof
- git submodule init libs/utility
- git submodule init libs/headers tools/boost_install tools/build
- git submodule update
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\fusion
- cmd /c bootstrap
- b2 headers
build: off
test_script:
- if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
- b2 -j%NUMBER_OF_PROCESSORS% --hash libs/fusion/test toolset=%TOOLSET% cxxstd=%CXXSTD% %ADDRMD%

View File

@ -1,5 +1,5 @@
#==============================================================================
# Copyright (c) 2003-2007 Joel de Guzman
# Copyright (c) 2003-2011 Joel de Guzman
#
# Use, modification and distribution is subject to the Boost Software
# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@ -9,17 +9,24 @@ project boost/libs/fusion/doc ;
import boostbook : boostbook ;
using quickbook ;
path-constant images_location : html ;
boostbook quickbook
:
fusion.qbk
:
<xsl:param>boost.root=../../../..
<xsl:param>boost.libraries=../../../libraries.htm
<xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
<xsl:param>chunk.section.depth=4
<xsl:param>chunk.first.sections=1
<xsl:param>toc.section.depth=3
<xsl:param>toc.max.depth=3
<xsl:param>generate.section.toc.level=4
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/fusion/doc/html
<format>pdf:<xsl:param>img.src.path=$(images_location)/
;
###############################################################################
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : quickbook ;
explicit boostrelease ;

View File

@ -1,5 +1,6 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,8 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
Copyright (C) 2006 Tobias Schwinger
Copyright (C) 2010 Christopher Schmidt
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@ -9,8 +12,41 @@
This section summarizes significant changes to the Fusion library.
* Sep 27, 2006: Added `boost::tuple` support.
* Nov 17, 2006: Added `boost::variant` support.
* Feb 15, 2007: Added functional module.
* Sep 27, 2006: Added `boost::tuple` support. (Joel de Guzman)
* Nov 17, 2006: Added `boost::variant` support. (Joel de Guzman)
* Feb 15, 2007: Added functional module. (Tobias Schwinger)
* April 2, 2007: Added struct adapter. (Joel de Guzman)
* May 8, 2007: Added associative struct adapter. (Dan Marsden)
* Dec 20, 2007: Removed `boost::variant` support. After thorough
investigation, I think now that the move to make variant a
fusion sequence is rather quirky. A variant will always
have a size==1 regardless of the number of types it can contain
and there's no way to know at compile time what it contains.
Iterating over its types is simply wrong. All these imply that
the variant is *not* a fusion sequence. (Joel de Guzman)
* Oct 12, 2009: The accumulator is the first argument to the functor of
__fold__ and __accumulate__. (Christopher Schmidt)
* Oct 30, 2009: Added support for associative iterators and views. (Christopher
Schmidt)
* March 1, 2010: Added __adapt_struct_named__ and __adapt_struct_named_ns__
(Hartmut Kaiser)
* April 4, 2010: Added __array__ support, __adapt_tpl_struct__,
__adapt_assoc_tpl_struct__, __adapt_assoc_struct_named__ and
__adapt_assoc_struct_named_ns__ (Christopher Schmidt)
* April 5, 2010: Added __define_struct__, __define_tpl_struct__,
__define_assoc_struct__ and __define_assoc_tpl_struct__ (Christopher Schmidt)
* June 18, 2010: Added __reverse_fold__, __iter_fold__ and __reverse_iter_fold__
(Christopher Schmidt)
* October 7, 2010: Added __adapt_adt__, __adapt_tpl_adt__,
__adapt_assoc_adt__ and __adapt_assoc_tpl_adt__ (Joel de Guzman,
Hartmut Kaiser and Christopher Schmidt)
* August 29, 2011: Added support for segmented sequences and iterators (Eric Niebler)
* September 16, 2011: Added preprocessed files (using wave) to speed up
compilation (Joel de Guzman)
* October 8, 2011: Added adaptor for std::tuple (Joel de Guzman)
* October 10, 2011: Made map random access (Brandon Kohn)
* April 7, 2012: Added C++11 version of deque
* May 19, 2012: Added BOOST_FUSION_DEFINE_STRUCT_INLINE by Nathan Ridge
* September 1, 2012: Added move support for deque and vector
[endsect]

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,6 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@ -70,7 +71,7 @@ tag type for operations involving our sequence. This is done by specializing
}}}
`traits::tag_of` also has a second template argument,
that can be used in conjuction with `boost::enable_if` to provide tag
that can be used in conjunction with `boost::enable_if` to provide tag
support for groups of related types. This feature is not necessary
for our sequence, but for an example see the code in:
@ -145,15 +146,15 @@ our iterator's tag type.
The implementation itself is pretty simple, it just uses 2 partial specializations to
provide the type of the 2 different members of `example_struct`, based on the index of the iterator.
To understand how `value_of_impl` is used by the library we will look at the implementation of __value_of__:
To understand how `value_of_impl` is used by the library we will look at the implementation of __result_of_value_of__:
template <typename Iterator>
struct __value_of__
struct value_of
: extension::value_of_impl<typename detail::tag_of<Iterator>::type>::
template apply<Iterator>
{};
So __value_of__ uses __tag_dispatching__ to select an __mpl_metafunction_class__
So __result_of_value_of__ uses __tag_dispatching__ to select an __mpl_metafunction_class__
to provide its functionality. You will notice this pattern throughout the
implementation of Fusion.
@ -216,7 +217,7 @@ To see how `deref_impl` is used, lets have a look at the implementation of __der
}
So again __result_of_deref__ uses __tag_dispatching__ in exactly the
same way as the __value_of__ implementation. The runtime functionality used
same way as the __result_of_value_of__ implementation. The runtime functionality used
by __deref__ is provided by the `call` static function of the selected
__mpl_metafunction_class__.
@ -227,14 +228,14 @@ bit of metaprogramming to return `const` references if the underlying sequence
is const.
[note Although there is a fair amount of left to do to produce a fully fledged
Fusion sequence, __value_of__ and __deref__ illustrate all the signficant concepts
Fusion sequence, __result_of_value_of__ and __deref__ illustrate all the significant concepts
required. The remainder of the process is very repetitive, simply requiring
implementation of a suitable `xxxx_impl` for each feature `xxxx`.
]
[heading Implementing the remaining iterator functionality]
Ok, now we have seen the way __value_of__ and __deref__ work, everything else will work
Ok, now we have seen the way __result_of_value_of__ and __deref__ work, everything else will work
in pretty much the same way. Lets start with forward iteration,
by providing a `next_impl`:
@ -317,14 +318,15 @@ is provided in the example code.
For our __random_access_sequence__ we will also need to implement `size_impl`,
`value_at_impl` and `at_impl`.
[heading Enabling our type as an associative container]
[heading Enabling our type as an associative sequence]
In order for `example_struct` to serve as an associative container,
we need to enable 3 lookup features, __at_key__, __value_at_key__ and __has_key__.
We also need to provide an implementation of the `is_associative` trait
so that our sequence can be correctly identified as an associative container.
In order for `example_struct` to serve as an associative forward sequence,
we need to adapt the traversal category of our sequence and our iterator
accordingly and enable 3 intrinsic sequence lookup features, __at_key__,
__result_of_value_at_key__ and __has_key__. We also need to enable 3 iterator lookup
features, __result_of_key_of__, __result_of_value_of_data__ and __deref_data__.
To implement `at_key_impl` we need to associate the `fields::age` and `fields::age`
To implement `at_key_impl` we need to associate the `fields::name` and `fields::age`
types described in the __quick_start__ guide with the appropriate members of `example_struct`.
Our implementation is as follows:
@ -369,15 +371,14 @@ Its all very similar to the implementations we've seen previously,
such as `deref_impl` and `value_of_impl`. Instead of identifying
the members by index or position, we are now selecting them using
the types `fields::name` and `fields::age`. The implementations of
`value_at_key_impl` and `has_key_impl` are equally straightforward,
and are provided in the example code, along with an implementation
of `is_associative_impl`.
the other functions are equally straightforward, and are provided in
the example code.
[heading Summary]
We've now worked through the entire process for adding a new random
access sequence and we've also enabled our type to serve as an associative
container. The implementation was slightly longwinded, but followed
sequence. The implementation was slightly long-winded, but followed
a simple repeating pattern.
The support for `std::pair`, __mpl__ sequences, and `boost::array` all
@ -390,7 +391,7 @@ for a variety of types.
[heading Description]
The __sequence_facade__ template provides an intrusive mechanism for
producing a conforming Fusion iterator.
producing a conforming Fusion sequence.
[heading Synopsis]
template<typename Derived, typename TravesalTag, typename IsView = mpl::false_>
@ -399,7 +400,7 @@ producing a conforming Fusion iterator.
[heading Usage]
The user of __sequence_facade__ derives his sequence type from a specialization of __sequence_facade__ and passes the derived sequence type as the first template parameter. The second template parameter should be the traversal category of the sequence being implemented. The 3rd parameter should be set to `mpl::true_` if the sequence is a view.
The user must the implement the key expressions required by their sequence type.
The user must implement the key expressions required by their sequence type.
[table Parameters
[[Name][Description]]
@ -415,6 +416,8 @@ The user must the implement the key expressions required by their sequence type.
[[`sequence::template end<Seq>::call(seq)`][An iterator to the end of sequence `seq`]]
[[`sequence::template size<Seq>::type`][The size of a sequence of type `Seq` as an __mpl_integral_constant__]]
[[`sequence::template size<Seq>::call(seq)`][The size of sequence `seq`]]
[[`sequence::template empty<Seq>::type`][Returns `mpl::true_` if `Seq` has zero elements, `mpl::false_` otherwise.]]
[[`sequence::template empty<Seq>::call`][Returns a type convertible to `bool` that evaluates to true if the sequence is empty, else, evaluates to false. ]]
[[`sequence::template at<Seq, N>::type`][The type of element `N` in a sequence of type `Seq`]]
[[`sequence::template at<Seq, N>::call(seq)`][Element `N` in sequence `seq`]]
[[`sequence::template value_at<Sequence, N>::type`][The type of the `N`th element in a sequence of type `Seq`]]
@ -426,7 +429,7 @@ The user must the implement the key expressions required by their sequence type.
#include <boost/fusion/include/sequence_facade.hpp>
[heading Example]
A full worked example using __sequence_facade__ is provided in triple.cpp in the extension examples.
A full working example using __sequence_facade__ is provided in triple.cpp in the extension examples.
[endsect]
@ -444,7 +447,7 @@ producing a conforming Fusion iterator.
[heading Usage]
The user of iterator_facade derives his iterator type from a specialization of iterator_facade and passes the derived iterator type as the first template parameter. The second template parameter should be the traversal category of the iterator being implemented.
The user must the implement the key expressions required by their iterator type.
The user must implement the key expressions required by their iterator type.
[table Parameters
[[Name][Description]]
@ -465,8 +468,12 @@ The user must the implement the key expressions required by their iterator type.
[[`iterator::template advance<It, N>::call(it)`][An iterator advanced `N` elements from `it`][Implemented in terms of `next` and `prior`]]
[[`iterator::template distance<It1, It2>::type`][The distance between iterators of type `It1` and `It2` as an __mpl_integral_constant__][None]]
[[`iterator::template distance<It1, It2>::call(it1, it2)`][The distance between iterator `it1` and `it2`][None]]
[[`iterator::template equal_to<It1, It2>::type`][The distance between iterators of type `It1` and `It2`][`boost::same_type<It1, It2>::type`]]
[[`iterator::template equal_to<It1, It2>::call(it1, it2)`][The distance between iterators `it1` and `it2`][`boost::same_type<It1, It2>::type()`]]
[[`iterator::template equal_to<It1, It2>::type`][Returns `mpl::true_` if `It1` is equal to `It2`, `mpl::false_` otherwise.][`boost::same_type<It1, It2>::type`]]
[[`iterator::template equal_to<It1, It2>::call(it1, it2)`][Returns a type convertible to `bool` that evaluates to `true` if `It1` is equal to `It2`, `false` otherwise.][`boost::same_type<It1, It2>::type()`]]
[[`iterator::template key_of<It>::type`][The key type associated with the element from `It`][None]]
[[`iterator::template value_of_data<It>::type`][The type of the data property associated with the element from `It`][None]]
[[`iterator::template deref_data<It>::type`][The type that will be returned by dereferencing the data property of the element from `It`][None]]
[[`iterator::template deref_data<It>::call(it)`][Deferences the data property associated with the element referenced by `it`][None]]
]
[heading Header]
@ -475,122 +482,7 @@ The user must the implement the key expressions required by their iterator type.
#include <boost/fusion/include/iterator_facade.hpp>
[heading Example]
A full worked example using __iterator_facade__ is provided in triple.cpp in the extension examples.
[endsect]
[section Macros]
[section:adapt_struct BOOST_FUSION_ADAPT_STRUCT]
[heading Description]
BOOST_FUSION_ADAPT_STRUCT is a macro that can be used to generate all the
necessary boilerplate to make an arbitrary struct into a __random_access_sequence__.
[heading Synopsis]
BOOST_FUSION_ADAPT_STRUCT(
struct_name
(member_type0, member_name0)
(member_type1, member_name1)
...
)
[heading Semantics]
BOOST_FUSION_ADAPT_STRUCT(
struct_name,
(member_type0, member_name0)
(member_type1, member_name1)
...
)
The above macro generates the necessary code to adapt `struct_name`
as a model of __random_access_sequence__. The sequence of `(member_typeN, member_nameN)`
pairs declare the type and names of each of the struct members that will be
part of the sequence.
The macro should be used at global scope, and `struct_name` should be the fully
namespace qualified name of the struct to be converted.
/adapted/struct/adapt_struct.hpp>
[heading Example]
namespace demo
{
struct employee
{
std::string name;
int age;
};
}
// demo::employee is now a Fusion sequence
BOOST_FUSION_ADAPT_STRUCT(
demo::employee
(std::string, name)
(int, age))
[endsect]
[section:adapt_assoc BOOST_FUSION_ADAPT_ASSOC_STRUCT]
[heading Description]
BOOST_FUSION_ADAPT_ASSOC_STRUCT is a macro that can be used to generate all the
necessary boilerplate to make an arbitrary struct into a model of __random_access_sequence__
and __associative_sequence__.
[heading Synopsis]
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
struct_name
(member_type0, member_name0, key_type0)
(member_type1, member_name1, key_type1)
...
)
[heading Semantics]
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
struct_name
(member_type0, member_name0, key_type0)
(member_type1, member_name1, key_type1)
...
)
The above macro generates the necessary code to adapt `struct_name`
as a model of __random_access_sequence__ and __associative_sequence__.
The sequence of `(member_typeN, member_nameN, key_typeN)`
triples declare the type, name and key type of each of the struct members
that will be part of the sequence.
The macro should be used at global scope, and `struct_name` should be the fully
namespace qualified name of the struct to be converted.
/adapted/struct/adapt_assoc_struct.hpp>
[heading Example]
namespace demo
{
struct employee
{
std::string name;
int age;
};
}
namespace keys
{
struct name;
struct age;
}
// demo::employee is now a Fusion sequence
// It is also an associative sequence with
// keys keys::name and keys::age present.
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
demo::employee
(std::string, name, keys::name)
(int, age, keys::age))
[endsect]
A full working example using __iterator_facade__ is provided in triple.cpp in the extension examples.
[endsect]

View File

@ -1,5 +1,5 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Copyright (C) 2006 Tobias Schwinger
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@ -10,7 +10,9 @@
Components to call functions and function objects and to make Fusion code
callable through a function object interface.
/functional.hpp>
[heading Header]
#include <boost/fusion/functional.hpp>
[heading Fused and unfused forms]
@ -55,6 +57,8 @@ functions and adapters to transform them into fused form, respectively.
Every variant has a corresponding generator function template that returns
an adapter instance for the given argument.
Constructors can be called applying __boost_func_factory__.
[heading Making Fusion code callable through a function object interface]
Transforming a fused function into its unfused counterpart allows to create
@ -62,11 +66,12 @@ function objects to accept arbitrary calls. In other words, an unary function
object can be implemented instead of (maybe heavily overloaded) function
templates or function call operators.
The library provides several adapter variants that implement this
transformation, ranging from strictly typed to fully generic. The latter
provides a reusable, approximate solution to __the_forwarding_problem__.
Every generic variant has a corresponding generator function template that
returns an adapter instance for the given argument.
The library provides both a strictly typed and a generic variant for this
transformation. The latter should be used in combination with
__boost_func_forward__ to attack __the_forwarding_problem__.
Both variants have a corresponding generator function template that returns an
adapter instance for the given argument.
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@ -257,6 +262,8 @@ In case of the latter, a freestanding [^get_pointer] function must be
defined (Boost provides this function for [^std::auto_ptr] and
__boost_shared_ptr_call__).
Constructors can be called applying __boost_func_factory__.
[heading Synopsis]
template<
typename Function,
@ -289,7 +296,9 @@ arguments.
[*Semantics]: Invokes `f` with the elements in `s` as arguments and returns
the result of the call expression.
/functional/invocation/invoke.hpp>
[heading Header]
#include <boost/fusion/functional/invocation/invoke.hpp>
[heading Example]
__std_plus_doc__<int> add;
@ -300,6 +309,7 @@ the result of the call expression.
* __invoke_function_object__
* __result_of_invoke__
* __fused__
* __make_fused__
[endsect]
@ -352,7 +362,9 @@ implemented).
[*Semantics]: Invokes `f` with the elements in `s` as arguments.
/functional/invocation/invoke_procedure.hpp>
[heading Header]
#include <boost/fusion/functional/invocation/invoke_procedure.hpp>
[heading Example]
__vector__<int,int> v(1,2);
@ -365,6 +377,7 @@ implemented).
* __invoke_function_object__
* __result_of_invoke_procedure__
* __fused_procedure__
* __make_fused_procedure__
[endsect]
@ -377,6 +390,8 @@ Calls a __poly_func_obj__ with the arguments from a __sequence__.
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
Constructors can be called applying __boost_func_factory__.
[heading Synopsis]
template<
typename Function,
@ -409,7 +424,9 @@ arguments.
[*Semantics]: Invokes `f` with the elements in `s` as arguments and returns the
result of the call expression.
/functional/invocation/invoke_function_object.hpp>
[heading Header]
#include <boost/fusion/functional/invocation/invoke_function_object.hpp>
[heading Example]
struct sub
@ -439,6 +456,7 @@ result of the call expression.
* __invoke_procedure__
* __result_of_invoke_function_object__
* __fused_function_object__
* __make_fused_function_object__
[endsect]
@ -520,6 +538,23 @@ Returns the result type of __invoke_function_object__.
[endsect] [/ Metafunctions ]
[section Limits]
[heading Header]
#include <boost/fusion/functional/invocation/limits.hpp>
[heading Macros]
The following macros can be defined to change the maximum arity.
The default is 6.
* BOOST_FUSION_INVOKE_MAX_ARITY
* BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY
* BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY
[endsect]
[endsect] [/ Invocation ]
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@ -551,7 +586,9 @@ In case of the latter, a freestanding [^get_pointer] function must be
defined (Boost provides this function for [^std::auto_ptr] and
__boost_shared_ptr_call__).
/functional/adapter/fused.hpp>
[heading Header]
#include <boost/fusion/functional/adapter/fused.hpp>
[heading Synopsis]
template <typename Function>
@ -594,6 +631,7 @@ __boost_shared_ptr_call__).
* __fused_procedure__
* __fused_function_object__
* __invoke__
* __make_fused__
* __deduce__
[endsect]
@ -606,7 +644,7 @@ An unary __poly_func_obj__ adapter template for __callable_obj__ target
functions. It takes a __forward_sequence__ that contains the arguments for
the target function.
The result is discared and the adapter's return type is `void`.
The result is discarded and the adapter's return type is `void`.
The type of the target function is allowed to be const qualified or a
reference. Const qualification is preserved and propagated appropriately
@ -627,7 +665,9 @@ The target function must not be a pointer to a member object (dereferencing
such a pointer without returning anything does not make sense, so this case
is not implemented).
/functional/adapter/fused_procedure.hpp>
[heading Header]
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
[heading Synopsis]
template <typename Function>
@ -649,7 +689,7 @@ is not implemented).
[[`R`] [A possibly const qualified __callable_obj__ type or reference type thereof]]
[[`r`] [An object convertible to `R`]]
[[`s`] [A __sequence__ of arguments that are accepted by `r`]]
[[`f`] [An instance of `fused<R>`]]
[[`f`] [An instance of `fused_procedure<R>`]]
]
[heading Expression Semantics]
@ -683,6 +723,7 @@ is not implemented).
* __fused__
* __fused_function_object__
* __invoke_procedure__
* __make_fused_procedure__
[endsect]
@ -700,7 +741,9 @@ reference. Const qualification is preserved and propagated appropriately
target function object that is const or, if the target function object
is held by value, the adapter is const).
/functional/adapter/fused_function_object.hpp>
[heading Header]
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
[heading Synopsis]
template <class Function>
@ -773,150 +816,50 @@ is held by value, the adapter is const).
* __fused__
* __fused_procedure__
* __invoke_function_object__
* __make_fused_function_object__
* __deduce__
[endsect]
[section unfused_generic]
[heading Description]
An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
target function. When called, its arguments are bundled to a
__random_access_sequence__ of references that is passed to the target function.
Non-const __lvalue__ arguments are transported as references to non-const, otherwise
references to const are used.
[blurb __tip__ Detecting mutable LValues on a per-argument basis is currently a
compile time expensive operation (see __the_forwarding_problem__ for
details). Therefore, there are two, lightweight and more restricted variants
of this class template, __unfused_lvalue_args__ and __unfused_rvalue_args__.]
The type of the target function is allowed to be const qualified or a
reference. Const qualification is preserved and propagated appropriately
(in other words, only const versions of [^operator()] can be used if
the target function object is const - or, in case the target function
object is held by value, the adapter is const).
/functional/adapter/unfused_generic.hpp>
[heading Synopsis]
template <class Function>
class unfused_generic;
[heading Template parameters]
[table
[[Parameter] [Description] [Default]]
[[`Function`] [An unary __poly_func_obj__] []]
]
[heading Model of]
* __poly_func_obj__
* __def_callable_obj__
[variablelist Notation
[[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
[[`f`] [An object convertible to `F`]]
[[`UG`] [The type `unfused_generic<F>`]]
[[`ug`] [An instance of `UG`, initialized with `f`]]
[[`a0`...`aN`] [Arguments to `ug`]]
]
[heading Expression Semantics]
[table
[[Expression] [Semantics]]
[[`UG(f)`] [Creates a fused function as described above, initializes the target function with `f`.]]
[[`UG()`] [Creates a fused function as described above, attempts to use `F`'s default constructor.]]
[[`ug(a0`...`aN)`] [Calls `f` with a __sequence__ that contains references to the arguments `a0`...`aN`.]]
]
[heading Example]
template <typename Function, typename T>
class fused_bound_1st
{
typename traits::deduce<Function>::type fnc_deferred;
typename traits::deduce<T>::type xxx_bound;
public:
fused_bound_1st(Function deferred, T bound)
: fnc_deferred(deferred), xxx_bound(bound)
{ }
template <typename Sig>
struct result;
template <class Self, class Seq>
struct result< Self(Seq) >
: result_of::invoke< Function, typename result_of::push_front<
typename remove_reference<Seq>::type, T>::type >
{ };
template <class Seq>
typename result< void(Seq) >::type operator()(Seq const & s) const
{
return invoke(fnc_deferred, push_front(s,xxx_bound));
}
};
template <typename Function, typename T>
unfused_generic< fused_bound_1st<Function,T> >
bind_1st(Function f, T const & x)
{
return unfused_generic< fused_bound_1st<Function,T> >(
fused_bound_1st<Function,T>(f,x) );
}
int test_func(int a, int b, int c)
{
return a+b+c;
}
void try_it()
{
assert(bind_1st(& test_func,3)(-2,-1) == 0);
assert(bind_1st(std::plus<float>(), 1)(0.5f) == 1.5f);
}
[heading See also]
* __unfused_lvalue_args__
* __unfused_rvalue_args__
* __unfused_typed__
* __deduce__
* __deduce_sequence__
[endsect]
[section unfused_lvalue_args]
[section unfused]
[heading Description]
An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
target function. When called, its arguments are bundled to a
__random_access_sequence__ of references that is passed to the target function
object. Only __lvalue__ arguments are accepted.
object.
The nullary overload of the call operator can be removed by setting the
second template parameter to `false`, which is very useful if the result type
computation would result in a compile error, otherwise (nullary call
operator's prototypes can't be templates and thus are instantiated as early
as the class template).
Only __lvalue__ arguments are accepted. To overcome this limitation, apply
__boost_func_forward__.
The type of the target function is allowed to be const qualified or a
reference. Const qualification is preserved and propagated appropriately
(in other words, only const versions of [^operator()] can be used if
reference. Const qualification is preserved and propagated appropriately.
In other words, only const versions of [^operator()] can be used if
the target function object is const - or, in case the target function
object is held by value, the adapter is const).
object is held by value, the adapter is const.
/functional/adapter/unfused_lvalue_args.hpp>
[heading Header]
#include <boost/fusion/functional/adapter/unfused.hpp>
[heading Synopsis]
template <class Function>
class unfused_lvalue_args;
template <class Function, bool AllowNullary = true>
class unfused;
[heading Template parameters]
[table
[[Parameter] [Description] [Default]]
[[`Function`] [A unary __poly_func_obj__] []]
[[`AllowNullary`] [Boolean constant] [true]]
]
[heading Model of]
@ -927,7 +870,7 @@ object is held by value, the adapter is const).
[variablelist Notation
[[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
[[`f`] [An object convertible to `F`]]
[[`UL`] [The type `unfused_lvalue_args<F>`]]
[[`UL`] [The type `unfused<F>`]]
[[`ul`] [An instance of `UL`, initialized with `f`]]
[[`a0`...`aN`] [Arguments to `ul`]]
]
@ -959,97 +902,15 @@ object is held by value, the adapter is const).
void try_it()
{
unfused_lvalue_args<fused_incrementer> increment;
unfused<fused_incrementer> increment;
int a = 2; char b = 'X';
increment(a,b);
assert(a == 3 && b == 'Y');
}
[heading See also]
* __unfused_rvalue_args__
* __unfused_generic__
* __unfused_typed__
[endsect]
[section unfused_rvalue_args]
[heading Description]
An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
target function. When called, its arguments are bundled to a
__random_access_sequence__ of references that is passed to the target
function object. All referenced objects in the sequence are const qualified.
The type of the target function is allowed to be const qualified or a
reference. Const qualification is preserved and propagated appropriately
(in other words, only const versions of [^operator()] can be used if
the target function object is const - or, in case the target function object
is held by value, the adapter is const).
/functional/adapter/unfused_rvalue_args.hpp>
[heading Synopsis]
template <class Function>
class unfused_rvalue_args;
[heading Template parameters]
[table
[[Parameter] [Description] [Default]]
[[`Function`] [A unary __poly_func_obj__] []]
]
[heading Model of]
* __poly_func_obj__
* __def_callable_obj__
[variablelist Notation
[[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
[[`f`] [An object convertible to `F`]]
[[`UR`] [The type `unfused_rvalue_args<F>`]]
[[`ur`] [An instance of `UR`, initialized with `f`]]
[[`a0`...`aN`] [Arguments to `ur`]]
]
[heading Expression Semantics]
[table
[[Expression] [Semantics]]
[[`UR(f)`] [Creates a fused function as described above, initializes the target function with `f`.]]
[[`UR()`] [Creates a fused function as described above, attempts to use `F`'s default constructor.]]
[[`ur(a0`...`aN)`] [Calls `f` with a __sequence__ that contains references to the arguments `a0`...`aN`.]]
]
[heading Example]
struct sequence_printer
{
template <class Seq>
struct result
{
typedef void type;
};
template <class Seq>
void operator()(Seq const & s) const
{
std::cout << s << std::endl;
}
};
void try_it()
{
unfused_rvalue_args<sequence_printer> print;
print(24,"bottles of beer in",'a',"box.");
}
[heading See also]
* __unfused_lvalue_args__
* __unfused_generic__
* __unfused_typed__
* __deduce__
* __deduce_sequence__
* __make_unfused__
[endsect]
@ -1061,7 +922,7 @@ An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
target function. When called, its arguments are bundled to a
__random_access_sequence__ that is passed to the target function object.
The call operators of esulting function objects are strictly typed
The call operators of resulting function objects are strictly typed
(in other words, non-templatized) with the types from a __sequence__.
The type of the target function is allowed to be const qualified or a
@ -1070,15 +931,17 @@ reference. Const qualification is preserved and propagated appropriately
the target function object is const - or, in case the target function object
is held by value, the adapter is const).
[blurb __note__ For Microsoft Visual C++ 7.1 (Visual Studio 2003) the detection
[note For Microsoft Visual C++ 7.1 (Visual Studio 2003) the detection
of the Function Object's const qualification easily causes an internal error.
Therefore the adapter is always treated as if it was const. ]
[blurb __tip__ If the type sequence passed to this template contains
[tip If the type sequence passed to this template contains
non-reference elements, the element is copied only once - the call operator's
signature is optimized automatically to avoid by-value parameters.]
/functional/adapter/unfused_typed.hpp>
[heading Header]
#include <boost/fusion/functional/adapter/unfused_typed.hpp>
[heading Synopsis]
template <class Function, class Sequence>
@ -1169,7 +1032,7 @@ signature is optimized automatically to avoid by-value parameters.]
fused_parallel_adder<Seq>(tie) );
}
};
unfused_lvalue_args<fused_parallel_adder_maker> parallel_add;
unfused<fused_parallel_adder_maker> parallel_add;
void try_it()
{
@ -1183,14 +1046,29 @@ signature is optimized automatically to avoid by-value parameters.]
}
[heading See also]
* __unfused_generic__
* __unfused_lvalue_args__
* __unfused_rvalue_args__
* __unfused__
* __deduce__
* __deduce_sequence__
[endsect]
[section Limits]
[heading Header]
#include <boost/fusion/functional/adapter/limits.hpp>
[heading Macros]
The following macros can be defined to change the maximum arity.
The value used for these macros must not exceed `FUSION_MAX_VECTOR_SIZE`.
The default is 6.
* BOOST_FUSION_UNFUSED_MAX_ARITY
* BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY
[endsect]
[endsect] [/ Adapters]
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@ -1353,16 +1231,16 @@ The usual __element_conversion__ is applied to the target function.
[endsect]
[section:mk_unfused_genrc make_unfused_generic]
[section:mk_unfused make_unfused]
[heading Description]
Creates a __unfused_generic__ adapter for a given, unary __poly_func_obj__.
Creates a __unfused__ adapter for a given, unary __poly_func_obj__.
The usual __element_conversion__ is applied to the target function.
[heading Synopsis]
template <typename F>
inline typename __result_of_make_unfused_generic__<F>::type
make_unfused_generic(F const & f);
inline typename __result_of_make_unfused__<F>::type
make_unfused(F const & f);
[heading Parameters]
[table
@ -1372,85 +1250,16 @@ The usual __element_conversion__ is applied to the target function.
[heading Expression Semantics]
make_unfused_generic(f);
make_unfused(f);
[*Return type]: A specialization of __unfused_generic__.
[*Return type]: A specialization of __unfused__.
[*Semantics]: Returns a __unfused_generic__ adapter for `f`.
[*Semantics]: Returns a __unfused__ adapter for `f`.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_generic.hpp>
#include <boost/fusion/include/make_unfused_generic.hpp>
[heading Example]
struct bottles_song
{
typedef void result_type;
template<class Seq>
void operator()(Seq & s) const
{
typename result_of::at_c<Seq,0>::type n = at_c<0>(s);
typename result_of::at_c<Seq,1>::type what = at_c<1>(s);
std::cout
<< n << " bottles of " << what << " on the wall.\n"
<< n << " bottles of " << what << "!\n"
<< "Take one down - pass it around.\n";
n -= 1; // glug glug...
std::cout
<< n << " bottles of " << what << " on the wall.\n"
<< std::endl;
}
};
void try_it()
{
unsigned n_milk = 99;
for(int i = 0; i < 3; ++i)
make_unfused_generic(bottles_song())(n_milk,"milk");
// 96 bottles left for me
}
[heading See also]
* __unfused_generic__
* __deduce__
* __result_of_make_unfused_generic__
[endsect]
[section:mk_unfused_lvargs make_unfused_lvalue_args]
[heading Description]
Creates a __unfused_lvalue_args__ adapter for a given, unary __poly_func_obj__.
The usual __element_conversion__ is applied to the target function.
[heading Synopsis]
template <typename F>
inline typename __result_of_make_unfused_lvalue_args__<F>::type
make_unfused_lvalue_args(F const & f);
[heading Parameters]
[table
[[Parameter] [Requirement] [Description]]
[[`f`] [Model of __poly_func_obj__] [The function to transform.]]
]
[heading Expression Semantics]
make_unfused_lvalue_args(f);
[*Return type]: A specialization of __unfused_lvalue_args__.
[*Semantics]: Returns a __unfused_lvalue_args__ adapter for `f`.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
#include <boost/fusion/include/make_unfused_lvalue_args.hpp>
#include <boost/fusion/functional/generation/make_unfused.hpp>
#include <boost/fusion/include/make_unfused.hpp>
[heading Example]
struct fused_incrementer
@ -1471,73 +1280,14 @@ The usual __element_conversion__ is applied to the target function.
void try_it()
{
int a = 2; char b = 'X';
make_unfused_lvalue_args(fused_incrementer())(a,b);
make_unfused(fused_incrementer())(a,b);
assert(a == 3 && b == 'Y');
}
[heading See also]
* __unfused_lvalue_args__
* __unfused__
* __deduce__
* __result_of_make_unfused_lvalue_args__
[endsect]
[section:mk_unfused_rvargs make_unfused_rvalue_args]
[heading Description]
Creates a __unfused_rvalue_args__ adapter for a given, unary __poly_func_obj__.
The usual __element_conversion__ is applied to the target function.
[heading Synopsis]
template <typename F>
inline typename __result_of_make_unfused_rvalue_args__<F>::type
make_unfused_rvalue_args(F const & f);
[heading Parameters]
[table
[[Parameter] [Requirement] [Description]]
[[`f`] [Model of __poly_func_obj__] [The function to transform.]]
]
[heading Expression Semantics]
make_unfused_rvalue_args(f);
[*Return type]: A specialization of __unfused_rvalue_args__.
[*Semantics]: Returns a __unfused_rvalue_args__ adapter for `f`.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
#include <boost/fusion/include/make_unfused_rvalue_args.hpp>
[heading Example]
struct sequence_printer
{
template <class Seq>
struct result
{
typedef void type;
};
template <class Seq>
void operator()(Seq const & s) const
{
std::cout << s << std::endl;
}
};
void try_it()
{
make_unfused_rvalue_args(sequence_printer())
(24,"bottles of beer in",'a',"box.");
}
[heading See also]
* __unfused_rvalue_args__
* __deduce__
* __result_of_make_unfused_rvalue_args__
* __result_of_make_unfused__
[endsect]
@ -1620,78 +1370,28 @@ Returns the result type of __make_fused_function_object__.
[endsect]
[section:mk_unfused_genrc make_unfused_generic]
[section:mk_unfused make_unfused]
[heading Description]
Returns the result type of __make_unfused_generic__.
Returns the result type of __make_unfused__.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_generic.hpp>
#include <boost/fusion/include/make_unfused_generic.hpp>
#include <boost/fusion/functional/generation/make_unfused.hpp>
#include <boost/fusion/include/make_unfused.hpp>
[heading Synopsis]
namespace result_of
{
template<typename Function>
struct make_unfused_generic
struct make_unfused
{
typedef __unspecified__ type;
};
}
[heading See also]
* __make_unfused_generic__
[endsect]
[section:mk_unfused_lvargs make_unfused_lvalue_args]
[heading Description]
Returns the result type of __make_unfused_lvalue_args__.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
#include <boost/fusion/include/make_unfused_lvalue_args.hpp>
[heading Synopsis]
namespace result_of
{
template<typename Function>
struct make_unfused_lvalue_args
{
typedef __unspecified__ type;
};
}
[heading See also]
* __make_unfused_lvalue_args__
[endsect]
[section:mk_unfused_rvargs make_unfused_rvalue_args]
[heading Description]
Returns the result type of __make_unfused_rvalue_args__.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
#include <boost/fusion/include/make_unfused_rvalue_args.hpp>
[heading Synopsis]
namespace result_of
{
template<typename Function>
struct make_unfused_rvalue_args
{
typedef __unspecified__ type;
};
}
[heading See also]
* __make_unfused_rvalue_args__
* __make_unfused__
[endsect]

View File

@ -1,5 +1,8 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
Copyright (C) 2010 Christopher Schmidt
Copyright (C) 2018 Kohei Takahashi
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@ -7,9 +10,9 @@
===============================================================================/]
[library Fusion
[quickbook 1.3]
[version 2.0]
[version 2.2]
[authors [de Guzman, Joel], [Marsden, Dan], [Schwinger, Tobias]]
[copyright 2001 2002 2003 2004 2005 2006 2007 Joel de Guzman, Dan Marsden, Tobias Schwinger]
[copyright 2001 2002 2003 2004 2005 2006 2011 2012 Joel de Guzman, Dan Marsden, Tobias Schwinger]
[purpose Statically Typed Heterogeneous Data Structures and Algorithms]
[license
Distributed under the Boost Software License, Version 1.0.
@ -18,40 +21,37 @@
]
]
[def __note__ [$images/note.png]]
[def __alert__ [$images/alert.png]]
[def __tip__ [$images/tip.png]]
[def __caution__ [$images/caution.png]]
[def __spirit__ [@http://spirit.sourceforge.net Spirit]]
[def __phoenix__ [@http://boost.org/libs/spirit/phoenix/index.html Phoenix]]
[def __mpl__ [@http://www.boost.org/libs/mpl/index.html MPL]]
[def __spirit__ [@http://boost-spirit.com/home/ Spirit]]
[def __phoenix__ [@http://www.boost.org/libs/phoenix Phoenix]]
[def __mpl__ [@http://www.boost.org/libs/mpl MPL]]
[def __stl__ [@http://en.wikipedia.org/wiki/Standard_Template_Library STL]]
[def __tuple__ [@http://www.boost.org/libs/tuple/doc/tuple_users_guide.html Boost.Tuple]]
[def __tr1__tuple__ [@http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf TR1 Tuple]]
[def __tuple__ [@http://www.boost.org/libs/tuple Boost.Tuple]]
[def __tr1__tuple__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf TR1 Tuple]]
[def __boost_tools__ [@http://www.boost.org/tools/index.html Boost Tools]]
[def __spirit_list__ [@https://lists.sourceforge.net/lists/listinfo/spirit-general Spirit Mailing List]]
[def __spirit_general__ [@news://news.gmane.org/gmane.comp.spirit.general Spirit General NNTP news portal]]
[def __gmane__ [@http://www.gmane.org Gmane]]
[def __mlist_archive__ [@http://news.gmane.org/gmane.comp.parsers.spirit.general]]
[def __spirit_list__ [@https://sourceforge.net/projects/spirit/lists/spirit-general Spirit Mailing List]]
[def __list_archive__ [@https://sourceforge.net/p/spirit/mailman/spirit-general/ archive]]
[def __jaakko_jarvi__ [@http://www.boost.org/people/jaakko_jarvi.htm Jaakko Jarvi]]
[def __david_abrahams__ [@http://www.boost.org/people/dave_abrahams.htm David Abrahams]]
[def __the_forwarding_problem__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm The Forwarding Problem]]
[def __boost_any__ [@http://boost.org/doc/html/any.html Boost.Any]]
[def __new_iterator_concepts__ [@http://boost.org/libs/iterator/doc/new-iter-concepts.html New Iterator Concepts]]
[def __boost_array_library__ [@http://www.boost.org/doc/html/array.html Boost.Array Library]]
[def __boost_variant_library__ [@http://www.boost.org/doc/html/variant.html Boost.Variant Library]]
[def __boost_tuple_library__ [@http://www.boost.org/libs/tuple/doc/tuple_users_guide.html Boost.Tuple Library]]
[def __boost_ref__ [@http://www.boost.org/doc/html/ref.html Boost.Ref]]
[def __boost_ref_call__ [@http://www.boost.org/doc/html/ref.html `ref`]]
[def __boost_result_of__ [@http://www.boost.org/libs/utility/utility.htm#result_of Boost.ResultOf]]
[def __boost_any__ [@http://www.boost.org/libs/any Boost.Any Library]]
[def __new_iterator_concepts__ [@http://www.boost.org/libs/iterator/doc/new-iter-concepts.html New Iterator Concepts]]
[def __boost_array_library__ [@http://www.boost.org/libs/array Boost.Array Library]]
[def __boost_variant_library__ [@http://www.boost.org/libs/variant Boost.Variant Library]]
[def __boost_tuple_library__ [@http://www.boost.org/libs/tuple Boost.Tuple Library]]
[def __boost_ref__ [@http://www.boost.org/libs/core/ref.html Ref utility]]
[def __boost_ref_call__ [@http://www.boost.org/libs/core/ref.html `ref`]]
[def __boost_result_of__ [@http://www.boost.org/libs/utility/utility.htm#result_of ResultOf utility]]
[def __boost_result_of_call__ [@http://www.boost.org/libs/utility/utility.htm#result_of `boost::result_of`]]
[def __boost_enable_if__ [@http://www.boost.org/libs/utility/enable_if.html Boost.EnableIf utility]]
[def __boost_shared_ptr_call__ [@http://www.boost.org/libs/smart_ptr/shared_ptr.htm `boost::shared_ptr`]]
[def __std_pair_doc__ [@http://www.sgi.com/tech/stl/pair.html `std::pair`]]
[def __std_plus_doc__ [@http://www.sgi.com/tech/stl/plus.html `std::plus`]]
[def __std_minus_doc__ [@http://www.sgi.com/tech/stl/minus.html `std::minus`]]
[def __boost_enable_if__ [@http://www.boost.org/libs/core/doc/html/core/enable_if.html EnableIf utility]]
[def __boost_shared_ptr_call__ [@http://www.boost.org/libs/smart_ptr#shared_ptr `boost::shared_ptr`]]
[def __boost_func_forward__ [@http://www.boost.org/libs/functional/forward Boost.Functional/Forward Library]]
[def __boost_func_factory__ [@http://www.boost.org/libs/functional/factory Boost.Functional/Factory Library]]
[def __boost_func_hash__ [@http://www.boost.org/doc/html/hash.html Boost.ContainerHash Library]]
[def __std_pair_doc__ [@http://en.cppreference.com/w/cpp/utility/pair `std::pair`]]
[def __std_tuple_doc__ [@http://en.cppreference.com/w/cpp/utility/tuple `std::tuple`]]
[def __std_plus_doc__ [@http://en.cppreference.com/w/cpp/utility/functional/plus `std::plus`]]
[def __std_minus_doc__ [@http://en.cppreference.com/w/cpp/utility/functional/minus `std::minus`]]
[def __mpl_integral_constant__ [@http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html MPL Integral Constant]]
[def __mpl_boolean_constant__ [@http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html MPL Boolean Constant]]
@ -77,6 +77,8 @@
[def __forward_iterator__ [link fusion.iterator.concepts.forward_iterator Forward Iterator]]
[def __bidirectional_iterator__ [link fusion.iterator.concepts.bidirectional_iterator Bidirectional Iterator]]
[def __random_access_iterator__ [link fusion.iterator.concepts.random_access_iterator Random Access Iterator]]
[def __associative_iterator__ [link fusion.iterator.concepts.associative_iterator Associative Iterator]]
[def __unbounded_iterator__ [link fusion.iterator.concepts.unbounded_iterator Unbounded Iterator]]
[def __next__ [link fusion.iterator.functions.next `next`]]
[def __prior__ [link fusion.iterator.functions.prior `prior`]]
@ -84,6 +86,7 @@
[def __advance_c__ [link fusion.iterator.functions.advance_c `advance_c`]]
[def __distance__ [link fusion.iterator.functions.distance `distance`]]
[def __deref__ [link fusion.iterator.functions.deref `deref`]]
[def __deref_data__ [link fusion.iterator.functions.deref_data `deref_data`]]
[def __result_of_next__ [link fusion.iterator.metafunctions.next `result_of::next`]]
[def __result_of_prior__ [link fusion.iterator.metafunctions.prior `result_of::prior`]]
@ -93,7 +96,9 @@
[def __result_of_distance__ [link fusion.iterator.metafunctions.distance `result_of::distance`]]
[def __result_of_deref__ [link fusion.iterator.metafunctions.deref `result_of::deref`]]
[def __result_of_value_of__ [link fusion.iterator.metafunctions.value_of `result_of::value_of`]]
[def __value_of__ [link fusion.iterator.metafunctions.value_of `value_of`]]
[def __result_of_key_of__ [link fusion.iterator.metafunctions.key_of `result_of::key_of`]]
[def __result_of_value_of_data__ [link fusion.iterator.metafunctions.value_of_data `result_of::value_of_data`]]
[def __result_of_deref_data__ [link fusion.iterator.metafunctions.deref_data `result_of::deref_data`]]
[def __sequence__ [link fusion.sequence Sequence]]
[def __sequence_concepts__ [link fusion.sequence.concepts Sequence Concepts]]
@ -103,11 +108,15 @@
[def __bidirectional_sequence__ [link fusion.sequence.concepts.bidirectional_sequence Bidirectional Sequence]]
[def __random_access_sequence__ [link fusion.sequence.concepts.random_access_sequence Random Access Sequence]]
[def __associative_sequence__ [link fusion.sequence.concepts.associative_sequence Associative Sequence]]
[def __unbounded_sequence__ [link fusion.sequence.concepts.unbounded_sequence Unbounded Sequence]]
[def __containers__ [link fusion.container Container]]
[def __vector__ [link fusion.container.vector `vector`]]
[def __cons__ [link fusion.container.cons `cons`]]
[def __list__ [link fusion.container.list `list`]]
[def __deque__ [link fusion.container.deque `deque`]]
[def __front_extended_deque__ [link fusion.container.front_extended_deque `front_extended_deque`]]
[def __back_extended_deque__ [link fusion.container.back_extended_deque `back_extended_deque`]]
[def __set__ [link fusion.container.set `set`]]
[def __map__ [link fusion.container.map `map`]]
@ -120,10 +129,27 @@
[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 __identity_view__ [link fusion.view.identity_view `identity_view`]]
[def __array__ [link fusion.adapted.array array]]
[def __std_pair__ [link fusion.adapted.std__pair `std::pair`]]
[def __boost_array__ [link fusion.adapted.boost__array `boost::array`]]
[def __mpl_sequence__ [link fusion.adapted.mpl_sequence mpl sequence]]
[def __adapt_tpl_struct__ [link fusion.adapted.adapt_tpl_struct `BOOST_FUSION_ADAPT_TPL_STRUCT`]]
[def __adapt_struct_named__ [link fusion.adapted.adapt_struct_named `BOOST_FUSION_ADAPT_STRUCT_NAMED`]]
[def __adapt_struct_named_ns__ [link fusion.adapted.adapt_struct_named `BOOST_FUSION_ADAPT_STRUCT_NAMED_NS`]]
[def __adapt_assoc_tpl_struct__ [link fusion.adapted.adapt_assoc_tpl_struct `BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT`]]
[def __adapt_assoc_struct_named__ [link fusion.adapted.adapt_assoc_struct_named `BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED`]]
[def __adapt_assoc_struct_named_ns__ [link fusion.adapted.adapt_assoc_struct_named `BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS`]]
[def __adapt_adt__ [link fusion.adapted.adapt_adt `BOOST_FUSION_ADAPT_ADT`]]
[def __adapt_tpl_adt__ [link fusion.adapted.adapt_tpl_adt `BOOST_FUSION_ADAPT_TPL_ADT`]]
[def __adapt_assoc_adt__ [link fusion.adapted.adapt_assoc_adt `BOOST_FUSION_ADAPT_ASSOC_ADT`]]
[def __adapt_assoc_tpl_adt__ [link fusion.adapted.adapt_assoc_tpl_adt `BOOST_FUSION_ADAPT_ASSOC_TPL_ADT`]]
[def __define_struct__ [link fusion.adapted.define_struct `BOOST_FUSION_DEFINE_STRUCT`]]
[def __define_tpl_struct__ [link fusion.adapted.define_tpl_struct `BOOST_FUSION_DEFINE_TPL_STRUCT`]]
[def __define_assoc_struct__ [link fusion.adapted.define_assoc_struct `BOOST_FUSION_DEFINE_ASSOC_STRUCT`]]
[def __define_assoc_tpl_struct__ [link fusion.adapted.define_assoc_tpl_struct `BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT`]]
[def __intrinsic__ [link fusion.sequence.intrinsic Intrinsic]]
[def __intrinsics__ [link fusion.sequence.intrinsic Intrinsics]]
@ -147,10 +173,11 @@
[def __result_of_at_key__ [link fusion.sequence.intrinsic.metafunctions.at_key `result_of::at_key`]]
[def __has_key__ [link fusion.sequence.intrinsic.functions.has_key `has_key`]]
[def __result_of_has_key__ [link fusion.sequence.intrinsic.metafunctions.has_key `result_of::has_key`]]
[def __value_at_key__ [link fusion.sequence.intrinsic.metafunctions.value_at_key `value_at_key`]]
[def __result_of_value_at__ [link fusion.sequence.intrinsic.metafunctions.value_at `result_of::value_at`]]
[def __result_of_value_at_c__ [link fusion.sequence.intrinsic.metafunctions.value_at_c `result_of::value_at_c`]]
[def __result_of_value_at_key__ [link fusion.sequence.intrinsic.metafunctions.value_at_key `result_of::value_at_key`]]
[def __swap__ [link fusion.sequence.intrinsic.functions.swap `swap`]]
[def __result_of_swap__ [link fusion.sequence.intrinsic.metafunctions.swap `result_of::swap`]]
[def __conversion__ [link fusion.container.conversion.functions Conversion]]
[def __result_of_conversion__ [link fusion.container.conversion.metafunctions Conversion Metafunctions]]
@ -176,12 +203,16 @@
[def __result_of_make_cons__ [link fusion.container.generation.metafunctions.make_cons `result_of::make_cons`]]
[def __make_list__ [link fusion.container.generation.functions.make_list `make_list`]]
[def __result_of_make_list__ [link fusion.container.generation.metafunctions.make_list `result_of::make_list`]]
[def __make_deque__ [link fusion.container.generation.functions.make_deque `make_deque`]]
[def __result_of_make_deque__ [link fusion.container.generation.metafunctions.make_deque `result_of::make_deque`]]
[def __make_set__ [link fusion.container.generation.functions.make_set `make_set`]]
[def __result_of_make_set__ [link fusion.container.generation.metafunctions.make_set `result_of::make_set`]]
[def __make_map__ [link fusion.container.generation.functions.make_map `make_map`]]
[def __result_of_make_map__ [link fusion.container.generation.metafunctions.make_map `result_of::make_map`]]
[def __list_tie__ [link fusion.container.generation.functions.list_tie `list_tie`]]
[def __result_of_list_tie__ [link fusion.container.generation.metafunctions.list_tie `result_of::list_tie`]]
[def __deque_tie__ [link fusion.container.generation.functions.deque_tie `deque_tie`]]
[def __result_of_deque_tie__ [link fusion.container.generation.metafunctions.deque_tie `result_of::deque_tie`]]
[def __out__ [link fusion.sequence.operator.i_o.out out]]
[def __in__ [link fusion.sequence.operator.i_o.in in]]
@ -194,8 +225,18 @@
[def __algorithm__ [link fusion.algorithm Algorithm]]
[def __algorithms__ [link fusion.algorithm Algorithms]]
[def __copy__ [link fusion.algorithm.auxiliary.functions.copy `copy`]]
[def __result_of_copy__ [link fusion.algorithm.auxiliary.metafunctions.copy `result_of::copy`]]
[def __move__ [link fusion.algorithm.auxiliary.functions.move `move`]]
[def __result_of_move__ [link fusion.algorithm.auxiliary.metafunctions.move `result_of::move`]]
[def __fold__ [link fusion.algorithm.iteration.functions.fold `fold`]]
[def __result_of_fold__ [link fusion.algorithm.iteration.metafunctions.fold `result_of::fold`]]
[def __reverse_fold__ [link fusion.algorithm.iteration.functions.reverse_fold `reverse_fold`]]
[def __result_of_reverse_fold__ [link fusion.algorithm.iteration.metafunctions.reverse_fold `result_of::reverse_fold`]]
[def __iter_fold__ [link fusion.algorithm.iteration.functions.iter_fold `iter_fold`]]
[def __result_of_iter_fold__ [link fusion.algorithm.iteration.metafunctions.iter_fold `result_of::iter_fold`]]
[def __reverse_iter_fold__ [link fusion.algorithm.iteration.functions.reverse_iter_fold `reverse_iter_fold`]]
[def __result_of_reverse_iter_fold__ [link fusion.algorithm.iteration.metafunctions.reverse_iter_fold `result_of::reverse_iter_fold`]]
[def __accumulate__ [link fusion.algorithm.iteration.functions.accumulate `accumulate`]]
[def __result_of_accumulate__ [link fusion.algorithm.iteration.metafunctions.accumulate `result_of::accumulate`]]
[def __for_each__ [link fusion.algorithm.iteration.functions.for_each `for_each`]]
@ -252,6 +293,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`]]
@ -264,9 +307,7 @@
[def __fused__ [link fusion.functional.adapters.fused `fused`]]
[def __fused_procedure__ [link fusion.functional.adapters.fused_procedure `fused_procedure`]]
[def __fused_function_object__ [link fusion.functional.adapters.fused_function_object `fused_function_object`]]
[def __unfused_generic__ [link fusion.functional.adapters.unfused_generic `unfused_generic`]]
[def __unfused_lvalue_args__ [link fusion.functional.adapters.unfused_lvalue_args `unfused_lvalue_args`]]
[def __unfused_rvalue_args__ [link fusion.functional.adapters.unfused_rvalue_args `unfused_rvalue_args`]]
[def __unfused__ [link fusion.functional.adapters.unfused `unfused`]]
[def __unfused_typed__ [link fusion.functional.adapters.unfused_typed `unfused_typed`]]
[def __invoke__ [link fusion.functional.invocation.functions.invoke `invoke`]]
[def __invoke_procedure__ [link fusion.functional.invocation.functions.invoke_proc `invoke_procedure`]]
@ -274,31 +315,31 @@
[def __make_fused__ [link fusion.functional.generation.functions.mk_fused `make_fused`]]
[def __make_fused_procedure__ [link fusion.functional.generation.functions.mk_fused_proc `make_fused_procedure`]]
[def __make_fused_function_object__ [link fusion.functional.generation.functions.mk_fused_fobj `make_fused_function_object`]]
[def __make_unfused_generic__ [link fusion.functional.generation.functions.mk_unfused_genrc `make_unfused_generic`]]
[def __make_unfused_rvalue_args__ [link fusion.functional.generation.functions.mk_unfused_rvargs `make_unfused_rvalue_args`]]
[def __make_unfused_lvalue_args__ [link fusion.functional.generation.functions.mk_unfused_lvargs `make_unfused_lvalue_args`]]
[def __make_unfused__ [link fusion.functional.generation.functions.mk_unfused `make_unfused`]]
[def __result_of_invoke__ [link fusion.functional.invocation.metafunctions.invoke `result_of::invoke`]]
[def __result_of_invoke_procedure__ [link fusion.functional.invocation.metafunctions.invoke_proc `result_of::invoke_procedure`]]
[def __result_of_invoke_function_object__ [link fusion.functional.invocation.metafunctions.invoke_fobj `result_of::invoke_function_object`]]
[def __result_of_make_fused__ [link fusion.functional.generation.metafunctions.mk_fused `make_fused`]]
[def __result_of_make_fused_procedure__ [link fusion.functional.generation.metafunctions.mk_fused_proc `make_fused_procedure`]]
[def __result_of_make_fused_function_object__ [link fusion.functional.generation.metafunctions.mk_fused_fobj `make_fused_function_object`]]
[def __result_of_make_unfused_generic__ [link fusion.functional.generation.metafunctions.mk_unfused_genrc `make_unfused_generic`]]
[def __result_of_make_unfused_rvalue_args__ [link fusion.functional.generation.metafunctions.mk_unfused_rvargs `make_unfused_rvalue_args`]]
[def __result_of_make_unfused_lvalue_args__ [link fusion.functional.generation.metafunctions.mk_unfused_lvargs `make_unfused_lvalue_args`]]
[def __result_of_make_fused__ [link fusion.functional.generation.metafunctions.mk_fused `result_of::make_fused`]]
[def __result_of_make_fused_procedure__ [link fusion.functional.generation.metafunctions.mk_fused_proc `result_of::make_fused_procedure`]]
[def __result_of_make_fused_function_object__ [link fusion.functional.generation.metafunctions.mk_fused_fobj `result_of::make_fused_function_object`]]
[def __result_of_make_unfused__ [link fusion.functional.generation.metafunctions.mk_unfused `result_of::make_unfused`]]
[def __recursive_inline__ [link fusion.notes.recursive_inlined_functions Recursive Inlined Functions]]
[def __overloaded_functions__ [link fusion.notes.overloaded_functions Overloaded Functions]]
[def __tag_dispatching__ [link fusion.notes.tag_dispatching /tag dispatching/]]
[def __element_conversion__ [link fusion.notes.element_conversion /element conversion/]]
[def __see_element_conversion__ [link fusion.notes.element_conversion /see element conversion/]]
[def __note_boost_ref__ [link fusion.notes.boost__ref `boost::ref`]]
[def __note_ref_wrappers__ [link fusion.notes.reference_wrappers `Reference Wrappers`]]
[def __quick_start__ [link fusion.quick_start Quick Start]]
[def __organization__ [link fusion.organization Orgainization]]
[def __organization__ [link fusion.organization Organization]]
[def __extension__ [link fusion.extension Extension]]
[def __sequence_facade__ [link fusion.extension.sequence_facade `sequence_facade`]]
[def __iterator_facade__ [link fusion.extension.iterator_facade `iterator_facade`]]
[def __sequence_facade__ [link fusion.extension.sequence_facade `sequence_facade`]]
[def __iterator_facade__ [link fusion.extension.iterator_facade `iterator_facade`]]
[def __adt_attribute_proxy__ [link fusion.notes.adt_attribute_proxy `adt_attribute_proxy`]]
[def __window_function__ [@http://en.wikipedia.org/wiki/Window_function Window Function]]
[include preface.qbk]
[include introduction.qbk]

View File

@ -1,56 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Acknowledgements</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="change_log.html" title="Change log">
<link rel="next" href="references.html" title="References">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="change_log.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.acknowledgements"></a><a href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a></h2></div></div></div>
<p>
Special thanks to David Abrahams, Douglas Gregor, Hartmut Kaiser, Aleksey Gurtovoy,
Peder Holt, Daniel Wallin, Jaakko Jarvi, Jeremiah Willcock, Dan Marsden, Eric
Niebler, Joao Abecasis and Andy Little. These people are instrumental in the
design and development of Fusion.
</p>
<p>
Special thanks to Ronald Garcia, the review manager and to all the people in
the boost community who participated in the review: Andreas Pokorny, Andreas
Huber, Jeff Flinn, David Abrahams, Pedro Lamarao, Larry Evans, Ryan Gallagher,
Andy Little, Gennadiy Rozental, Tobias Schwinger, Joao Abecasis, Eric Niebler,
Oleg Abrosimov, Gary Powell, Eric Friedman, Darren Cook, Martin Bonner and
Douglas Gregor.
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="change_log.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,76 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Adapted</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="view/reverse_view.html" title="reverse_view">
<link rel="next" href="adapted/std__pair.html" title="std::pair">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="view/reverse_view.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/std__pair.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.adapted"></a><a href="adapted.html" title="Adapted">Adapted</a></h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="adapted/std__pair.html">std::pair</a></span></dt>
<dt><span class="section"><a href="adapted/mpl_sequence.html">mpl sequence</a></span></dt>
<dt><span class="section"><a href="adapted/boost__array.html">boost::array</a></span></dt>
<dt><span class="section"><a href="adapted/boost__tuple.html">boost::tuple</a></span></dt>
<dt><span class="section"><a href="adapted/boost__variant.html">boost::variant</a></span></dt>
</dl></div>
<p>
Fusion provides a couple of adapters for other sequences such as <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>,
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> sequences,
and <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt>. These adapters are written using Fusion's
non-intrusive <a href="extension.html" title="Extension">Extension</a> mechanism.
If you wish to use these sequences with fusion, simply include the necessary
files and they will be regarded as first-class, fully conforming fusion sequences
<sup>[<a name="id570771" href="#ftn.id570771">13</a>]</sup>
.
</p>
<a name="fusion.adapted.header"></a><h3>
<a name="id570812"></a>
<a href="adapted.html#fusion.adapted.header">Header</a>
</h3>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<div class="footnotes">
<br><hr width="100" align="left">
<div class="footnote"><p><sup>[<a name="ftn.id570771" href="#id570771">13</a>] </sup>
Fusion sequences may also be adapted as fully conforming <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences (see <a href="sequence/intrinsic.html" title="Intrinsic">Intrinsics</a>).
That way, we can have 2-way adaptation to and from <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
and Fusion
</p></div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="view/reverse_view.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/std__pair.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,84 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>boost::array</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="mpl_sequence.html" title="mpl sequence">
<link rel="next" href="boost__tuple.html" title="boost::tuple">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="mpl_sequence.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.boost__array"></a><a href="boost__array.html" title="boost::array">boost::array</a></h3></div></div></div>
<p>
This module provides adapters for <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt>.
Including the module header makes <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt>
a fully conforming <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.boost__array.header"></a><h4>
<a name="id572669"></a>
<a href="boost__array.html#fusion.adapted.boost__array.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.boost__array.model_of"></a><h4>
<a name="id572827"></a>
<a href="boost__array.html#fusion.adapted.boost__array.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a></li></ul></div>
<a name="fusion.adapted.boost__array.example"></a><h4>
<a name="id572868"></a>
<a href="boost__array.html#fusion.adapted.boost__array.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;</span> <span class="identifier">arr</span> <span class="special">=</span> <span class="special">{{</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">}};</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><a href="../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><a href="../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><a href="../iterator/functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><a href="../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><a href="../iterator/functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><a href="../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.boost__array.see_also"></a><h4>
<a name="id573488"></a>
<a href="boost__array.html#fusion.adapted.boost__array.see_also">See also</a>
</h4>
<p>
<a href="http://www.boost.org/doc/html/array.html" target="_top">Boost.Array Library</a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="mpl_sequence.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,80 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>boost::tuple</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="boost__array.html" title="boost::array">
<link rel="next" href="boost__variant.html" title="boost::variant">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__array.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__variant.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.boost__tuple"></a><a href="boost__tuple.html" title="boost::tuple">boost::tuple</a></h3></div></div></div>
<p>
This module provides adapters for <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt>.
Including the module header makes <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt>
a fully conforming <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<a name="fusion.adapted.boost__tuple.header"></a><h4>
<a name="id573602"></a>
<a href="boost__tuple.html#fusion.adapted.boost__tuple.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.boost__tuple.model_of"></a><h4>
<a name="id573760"></a>
<a href="boost__tuple.html#fusion.adapted.boost__tuple.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a></li></ul></div>
<a name="fusion.adapted.boost__tuple.example"></a><h4>
<a name="id573801"></a>
<a href="boost__tuple.html#fusion.adapted.boost__tuple.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">example_tuple</span><span class="special">(</span><span class="number">101</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">example_tuple</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">next</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">example_tuple</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.boost__tuple.see_also"></a><h4>
<a name="id574119"></a>
<a href="boost__tuple.html#fusion.adapted.boost__tuple.see_also">See also</a>
</h4>
<p>
<a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple
Library</a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__array.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__variant.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,83 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>boost::variant</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="boost__tuple.html" title="boost::tuple">
<link rel="next" href="../algorithm.html" title="Algorithm">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__tuple.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.boost__variant"></a><a href="boost__variant.html" title="boost::variant">boost::variant</a></h3></div></div></div>
<p>
This module provides adapters for <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></tt>.
Including the module header makes <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></tt>
a fully conforming <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>. The variant acts as a sequence of the types that can be
contained in the variant. Accessing types not currently stored int the variant
will lead to the variant being populated with a default constructed value
of that type.
</p>
<a name="fusion.adapted.boost__variant.header"></a><h4>
<a name="id574238"></a>
<a href="boost__variant.html#fusion.adapted.boost__variant.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">variant</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">variant</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.boost__variant.model_of"></a><h4>
<a name="id574396"></a>
<a href="boost__variant.html#fusion.adapted.boost__variant.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a></li></ul></div>
<a name="fusion.adapted.boost__variant.example"></a><h4>
<a name="id574437"></a>
<a href="boost__variant.html#fusion.adapted.boost__variant.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">example_variant</span> <span class="special">=</span> <span class="number">101</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">example_variant</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
<span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">find</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">example_variant</span><span class="special">)</span> <span class="special">=</span> <span class="string">"hello"</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">example_variant</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.boost__variant.see_also"></a><h4>
<a name="id574720"></a>
<a href="boost__variant.html#fusion.adapted.boost__variant.see_also">See also</a>
</h4>
<p>
<a href="http://www.boost.org/doc/html/variant.html" target="_top">Boost.Variant Library</a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__tuple.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,100 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>mpl sequence</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="std__pair.html" title="std::pair">
<link rel="next" href="boost__array.html" title="boost::array">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="std__pair.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.mpl_sequence"></a><a href="mpl_sequence.html" title="mpl sequence">mpl sequence</a></h3></div></div></div>
<p>
This module provides adapters for <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences. Including the module header makes all <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences fully conforming fusion sequences.
</p>
<a name="fusion.adapted.mpl_sequence.header"></a><h4>
<a name="id571722"></a>
<a href="mpl_sequence.html#fusion.adapted.mpl_sequence.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.mpl_sequence.model_of"></a><h4>
<a name="id571879"></a>
<a href="mpl_sequence.html#fusion.adapted.mpl_sequence.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc">
<li>
<a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
(If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequence is a forward sequence.)
</li>
<li>
<a href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a> (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequence is a bidirectional sequence.)
</li>
<li>
<a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequence is a random access sequence.)
</li>
</ul></div>
<a name="fusion.adapted.mpl_sequence.example"></a><h4>
<a name="id571970"></a>
<a href="mpl_sequence.html#fusion.adapted.mpl_sequence.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="number">456</span><span class="special">&gt;</span> <span class="identifier">vec_c</span><span class="special">;</span>
<span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">vec_c</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">v</span> <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">456</span><span class="special">,</span> <span class="number">789</span><span class="special">&gt;();</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.mpl_sequence.see_also"></a><h4>
<a name="id572557"></a>
<a href="mpl_sequence.html#fusion.adapted.mpl_sequence.see_also">See also</a>
</h4>
<p>
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="std__pair.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,83 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>std::pair</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="../adapted.html" title="Adapted">
<link rel="next" href="mpl_sequence.html" title="mpl sequence">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../adapted.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.std__pair"></a><a href="std__pair.html" title="std::pair">std::pair</a></h3></div></div></div>
<p>
This module provides adapters for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>.
Including the module header makes <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>
a fully conforming <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.std__pair.header"></a><h4>
<a name="id571035"></a>
<a href="std__pair.html#fusion.adapted.std__pair.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.std__pair.model_of"></a><h4>
<a name="id571192"></a>
<a href="std__pair.html#fusion.adapted.std__pair.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a></li></ul></div>
<a name="fusion.adapted.std__pair.example"></a><h4>
<a name="id571233"></a>
<a href="std__pair.html#fusion.adapted.std__pair.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">p</span><span class="special">(</span><span class="number">123</span><span class="special">,</span> <span class="string">"Hola!!!"</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">p</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">p</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.std__pair.see_also"></a><h4>
<a name="id571586"></a>
<a href="std__pair.html#fusion.adapted.std__pair.see_also">See also</a>
</h4>
<p>
<a href="http://www.sgi.com/tech/stl/pair.html" target="_top"><tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt></a>,
<a href="../tuple/pairs.html" title="Pairs"><tt class="computeroutput"><span class="identifier">TR1</span>
<span class="keyword">and</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt></a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../adapted.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,113 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Algorithm</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="adapted/boost__variant.html" title="boost::variant">
<link rel="next" href="algorithm/iteration.html" title="Iteration">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapted/boost__variant.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/iteration.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.algorithm"></a><a href="algorithm.html" title="Algorithm">Algorithm</a></h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="algorithm/iteration.html">Iteration</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithm/iteration/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithm/iteration/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithm/query.html">Query</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithm/query/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithm/query/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithm/transformation.html">Transformation</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithm/transformation/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithm/transformation/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
</dl></div>
<a name="fusion.algorithm.lazy_evaluation"></a><h3>
<a name="id574774"></a>
<a href="algorithm.html#fusion.algorithm.lazy_evaluation">Lazy Evaluation</a>
</h3>
<p>
Unlike <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, Fusion
algorithms are lazy and non sequence-type preserving. What does that mean?
It means that when you operate on a sequence through a Fusion algorithm that
returns a sequence, the sequence returned may not be of the same class as the
original. This is by design. Runtime efficiency is given a high priority. Like
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, and unlike
<a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>,
fusion algorithms are functional in nature such that algorithms are non mutating
(no side effects). However, due to the high cost of returning full sequences
such as vectors and lists, <span class="emphasis"><em>Views</em></span> are returned from Fusion
algorithms instead. For example, the <a href="algorithm/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> algorithm does not actually
return a transformed version of the original sequence. <a href="algorithm/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> returns a <a href="view/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>. This view holds a
reference to the original sequence plus the transform function. Iteration over
the <a href="view/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>
will apply the transform function over the sequence elements on demand. This
<span class="emphasis"><em>lazy</em></span> evaluation scheme allows us to chain as many algorithms
as we want without incurring a high runtime penalty.
</p>
<a name="fusion.algorithm.sequence_extension"></a><h3>
<a name="id574922"></a>
<a href="algorithm.html#fusion.algorithm.sequence_extension">Sequence Extension</a>
</h3>
<p>
The <span class="emphasis"><em>lazy</em></span> evaluation scheme where <a href="algorithm.html" title="Algorithm">Algorithms</a>
return <a href="view.html" title="View">Views</a> also allows operations such
as <a href="algorithm/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> to be totally generic. In
Fusion, <a href="algorithm/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> is actually a generic algorithm
that works on all sequences. Given an input sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
and a value <tt class="computeroutput"><span class="identifier">x</span></tt>, Fusion's <a href="algorithm/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> algorithm simply returns
a <a href="view/joint_view.html" title="joint_view"><tt class="computeroutput"><span class="identifier">joint_view</span></tt></a>:
a view that holds a reference to the original sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
and the value <tt class="computeroutput"><span class="identifier">x</span></tt>. Functions
that were once sequence specific and need to be implemented N times over N
different sequences are now implemented only once. That is to say that Fusion
sequences are cheaply extensible. However, an important caveat is that the
result of a sequence extending operation like <a href="algorithm/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> does not retain the properties
of the original sequence such as associativity of <a href="container/set.html" title="set"><tt class="computeroutput"><span class="identifier">set</span></tt></a>(s). To regain the original sequence,
<a href="container/conversion/functions.html" title="Functions">Conversion</a> functions
are provided. You may use one of the <a href="container/conversion/functions.html" title="Functions">Conversion</a>
functions to convert back to the original sequence type.
</p>
<a name="fusion.algorithm.header"></a><h3>
<a name="id575155"></a>
<a href="algorithm.html#fusion.algorithm.header">Header</a>
</h3>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapted/boost__variant.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/iteration.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,58 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Iteration</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithm.html" title="Algorithm">
<link rel="prev" href="../algorithm.html" title="Algorithm">
<link rel="next" href="iteration/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithm.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.iteration"></a><a href="iteration.html" title="Iteration">Iteration</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="iteration/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="iteration/metafunctions.html">Metafunctions</a></span></dt>
</dl></div>
<p>
The iteration algorithms provide the fundamental algorithms for traversing
a sequence repeatedly applying an operation to its elements.
</p>
<a name="fusion.algorithm.iteration.header"></a><h4>
<a name="id575328"></a>
<a href="iteration.html#fusion.algorithm.iteration.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithm.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,47 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../iteration.html" title="Iteration">
<link rel="prev" href="../iteration.html" title="Iteration">
<link rel="next" href="functions/fold.html" title="fold">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../iteration.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.iteration.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="functions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="functions/accumulate.html">accumulate</a></span></dt>
<dt><span class="section"><a href="functions/for_each.html">for_each</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../iteration.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,202 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>accumulate</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="fold.html" title="fold">
<link rel="next" href="for_each.html" title="for_each">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.functions.accumulate.description"></a><h6>
<a name="id577257"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial
state, and binary function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
accumulate repeatedly applies binary <tt class="computeroutput"><span class="identifier">f</span></tt>
to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt>
and the previous state.
</p>
<a name="fusion.algorithm.iteration.functions.accumulate.synopsis"></a><h6>
<a name="id577336"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">accumulate</span><span class="special">(</span>
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id577597"></a><p class="title"><b>Table<EFBFBD>1.34.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span>
<span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt> must be a valid expression for
each element <tt class="computeroutput"><span class="identifier">e1</span></tt>
to <tt class="computeroutput"><span class="identifier">eN</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">initial_state</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Initial state
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">,</span><span class="identifier">S</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt>
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.iteration.functions.accumulate.expression_semantics"></a><h6>
<a name="id578049"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt>
where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.iteration.functions.accumulate.complexity"></a><h6>
<a name="id578260"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
</p>
<a name="fusion.algorithm.iteration.functions.accumulate.header"></a><h6>
<a name="id578356"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.iteration.functions.accumulate.example"></a><h6>
<a name="id578526"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">make_string</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">str</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">t</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,202 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="accumulate.html" title="accumulate">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.functions.fold.description"></a><h6>
<a name="id575528"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial
state, and binary function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
fold repeatedly applies binary <tt class="computeroutput"><span class="identifier">f</span></tt>
to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt>
and the previous state.
</p>
<a name="fusion.algorithm.iteration.functions.fold.synopsis"></a><h6>
<a name="id575608"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">fold</span><span class="special">(</span>
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id575867"></a><p class="title"><b>Table<EFBFBD>1.33.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>,<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt> must be a valid expression for
each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current
state <tt class="computeroutput"><span class="identifier">s</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">initial_state</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Initial state
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">,</span><span class="identifier">S</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt>
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.iteration.functions.fold.expression_semantics"></a><h6>
<a name="id576277"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">fold</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt>
where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.iteration.functions.fold.complexity"></a><h6>
<a name="id576487"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
</p>
<a name="fusion.algorithm.iteration.functions.fold.header"></a><h6>
<a name="id576582"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.iteration.functions.fold.example"></a><h6>
<a name="id576752"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">make_string</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">result_type</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">str</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">t</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,178 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>for_each</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="accumulate.html" title="accumulate">
<link rel="next" href="../metafunctions.html" title="Metafunctions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.functions.for_each.description"></a><h6>
<a name="id579028"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.description">Description</a>
</h6>
<p>
Applies a unary function object to each element of a sequence.
</p>
<a name="fusion.algorithm.iteration.functions.for_each.synopsis"></a><h6>
<a name="id579060"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">for_each</span><span class="special">(</span>
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id579263"></a><p class="title"><b>Table<EFBFBD>1.35.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression for
each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary <a href="../../../functional/concepts/reg_callable.html" title=" Regular Callable
Object">Regular
Callable Object</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.iteration.functions.for_each.expression_semantics"></a><h6>
<a name="id579463"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">void</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Calls <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.iteration.functions.for_each.complexity"></a><h6>
<a name="id579622"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
</p>
<a name="fusion.algorithm.iteration.functions.for_each.header"></a><h6>
<a name="id579717"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.iteration.functions.for_each.example"></a><h6>
<a name="id579887"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">increment</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="special">++</span><span class="identifier">t</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">increment</span><span class="special">());</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">vec</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,47 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../iteration.html" title="Iteration">
<link rel="prev" href="functions/for_each.html" title="for_each">
<link rel="next" href="metafunctions/fold.html" title="fold">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/for_each.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.iteration.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="metafunctions/accumulate.html">accumulate</a></span></dt>
<dt><span class="section"><a href="metafunctions/for_each.html">for_each</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/for_each.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,180 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>accumulate</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="fold.html" title="fold">
<link rel="next" href="for_each.html" title="for_each">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.description"></a><h6>
<a name="id581263"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.synopsis"></a><h6>
<a name="id581312"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">accumulate</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id581449"></a><p class="title"><b>Table<EFBFBD>1.37.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">State</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The initial state for the first application of <tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">,</span><span class="identifier">S</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt>
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
</p>
</td>
<td>
<p>
The operation to be applied on forward traversal
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
<a name="id581801"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the result of applying
<tt class="computeroutput"><span class="identifier">accumulate</span></tt> to a sequence
of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, with
an initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt>
and binary function object or function pointer of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.complexity"></a><h6>
<a name="id581978"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.header"></a><h6>
<a name="id582074"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,180 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
<link rel="next" href="accumulate.html" title="accumulate">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.metafunctions.fold.description"></a><h6>
<a name="id580268"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.fold.synopsis"></a><h6>
<a name="id580317"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">fold</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id580453"></a><p class="title"><b>Table<EFBFBD>1.36.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">State</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The initial state for the first application of <tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">,</span><span class="identifier">S</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt>
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
</p>
</td>
<td>
<p>
The operation to be applied on forward traversal
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.iteration.metafunctions.fold.expression_semantics"></a><h6>
<a name="id580803"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the result of applying
<tt class="computeroutput"><span class="identifier">fold</span></tt> to a sequence of
type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, with an
initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt>
and binary function object or function pointer of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.fold.complexity"></a><h6>
<a name="id580977"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.fold.header"></a><h6>
<a name="id581073"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,162 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>for_each</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="accumulate.html" title="accumulate">
<link rel="next" href="../../query.html" title="Query">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
<p>
A metafunction returning the result type of applying <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> to a sequence. The
return type of <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> is always <tt class="computeroutput"><span class="keyword">void</span></tt>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.description"></a><h6>
<a name="id582319"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.description">Description</a>
</h6>
<a name="fusion.algorithm.iteration.metafunctions.for_each.synopsis"></a><h6>
<a name="id582346"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">for_each</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id582468"></a><p class="title"><b>Table<EFBFBD>1.38.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.iteration.metafunctions.for_each.expression_semantics"></a><h6>
<a name="id582609"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">void</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> for a sequence of type
<tt class="computeroutput"><span class="identifier">Sequence</span></tt> and a unary
function object <tt class="computeroutput"><span class="identifier">F</span></tt>. The
return type is always <tt class="computeroutput"><span class="keyword">void</span></tt>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.complexity"></a><h6>
<a name="id582791"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.header"></a><h6>
<a name="id582821"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,57 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Query</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithm.html" title="Algorithm">
<link rel="prev" href="iteration/metafunctions/for_each.html" title="for_each">
<link rel="next" href="query/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.query"></a><a href="query.html" title="Query">Query</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="query/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="query/metafunctions.html">Metafunctions</a></span></dt>
</dl></div>
<p>
The query algorithms provide support for searching and analyzing sequences.
</p>
<a name="fusion.algorithm.query.header"></a><h4>
<a name="id583019"></a>
<a href="query.html#fusion.algorithm.query.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,51 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../query.html" title="Query">
<link rel="prev" href="../query.html" title="Query">
<link rel="next" href="functions/any.html" title="any">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../query.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.query.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="functions/any.html">any</a></span></dt>
<dt><span class="section"><a href="functions/all.html">all</a></span></dt>
<dt><span class="section"><a href="functions/none.html">none</a></span></dt>
<dt><span class="section"><a href="functions/find.html">find</a></span></dt>
<dt><span class="section"><a href="functions/find_if.html">find_if</a></span></dt>
<dt><span class="section"><a href="functions/count.html">count</a></span></dt>
<dt><span class="section"><a href="functions/count_if.html">count_if</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../query.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,181 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>all</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="any.html" title="any">
<link rel="next" href="none.html" title="none">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.all.description"></a><h6>
<a name="id584477"></a>
<a href="all.html#fusion.algorithm.query.functions.all.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">all</span></tt> returns true if
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for every
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.all.synopsis"></a><h6>
<a name="id584567"></a>
<a href="all.html#fusion.algorithm.query.functions.all.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/all.html" title="all"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">all</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id584761"></a><p class="title"><b>Table<EFBFBD>1.40.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.functions.all.expression_semantics"></a><h6>
<a name="id584962"></a>
<a href="all.html#fusion.algorithm.query.functions.all.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.all.complexity"></a><h6>
<a name="id585132"></a>
<a href="all.html#fusion.algorithm.query.functions.all.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<a name="fusion.algorithm.query.functions.all.header"></a><h6>
<a name="id585215"></a>
<a href="all.html#fusion.algorithm.query.functions.all.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.query.functions.all.example"></a><h6>
<a name="id585383"></a>
<a href="all.html#fusion.algorithm.query.functions.all.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,181 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>any</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="all.html" title="all">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.any.description"></a><h6>
<a name="id583217"></a>
<a href="any.html#fusion.algorithm.query.functions.any.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">any</span></tt> returns true if
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for at
least one element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.any.synopsis"></a><h6>
<a name="id583306"></a>
<a href="any.html#fusion.algorithm.query.functions.any.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/any.html" title="any"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">any</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id583500"></a><p class="title"><b>Table<EFBFBD>1.39.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.functions.any.expression_semantics"></a><h6>
<a name="id583701"></a>
<a href="any.html#fusion.algorithm.query.functions.any.expression_semantics">Expression
semantics</a>
</h6>
<pre class="programlisting">
<a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for some
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.any.complexity"></a><h6>
<a name="id583871"></a>
<a href="any.html#fusion.algorithm.query.functions.any.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<a name="fusion.algorithm.query.functions.any.header"></a><h6>
<a name="id583953"></a>
<a href="any.html#fusion.algorithm.query.functions.any.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.query.functions.any.example"></a><h6>
<a name="id584122"></a>
<a href="any.html#fusion.algorithm.query.functions.any.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,168 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="find_if.html" title="find_if">
<link rel="next" href="count_if.html" title="count_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.count.description"></a><h6>
<a name="id589255"></a>
<a href="count.html#fusion.algorithm.query.functions.count.description">Description</a>
</h6>
<p>
Returns the number of elements of a given type within a sequence.
</p>
<a name="fusion.algorithm.query.functions.count.synopsis"></a><h6>
<a name="id589287"></a>
<a href="count.html#fusion.algorithm.query.functions.count.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/count.html" title="count"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">count</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id589494"></a><p class="title"><b>Table<EFBFBD>1.44.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">t</span></tt>
must be a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>,
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to count
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.functions.count.expression_semantics"></a><h6>
<a name="id589691"></a>
<a href="count.html#fusion.algorithm.query.functions.count.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the number of elements
of type <tt class="computeroutput"><span class="identifier">T</span></tt> and equal to
<tt class="computeroutput"><span class="identifier">t</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.count.complexity"></a><h6>
<a name="id589835"></a>
<a href="count.html#fusion.algorithm.query.functions.count.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<a name="fusion.algorithm.query.functions.count.header"></a><h6>
<a name="id589919"></a>
<a href="count.html#fusion.algorithm.query.functions.count.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.query.functions.count.example"></a><h6>
<a name="id590088"></a>
<a href="count.html#fusion.algorithm.query.functions.count.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="number">2</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,167 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="count.html" title="count">
<link rel="next" href="../metafunctions.html" title="Metafunctions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.count_if.description"></a><h6>
<a name="id590305"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.description">Description</a>
</h6>
<p>
Returns the number of elements within a sequence with a type for which
a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.count_if.synopsis"></a><h6>
<a name="id590350"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">count_if</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id590546"></a><p class="title"><b>Table<EFBFBD>1.45.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.functions.count_if.expression_semantics"></a><h6>
<a name="id590747"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the number of elements
in <tt class="computeroutput"><span class="identifier">seq</span></tt> where <tt class="computeroutput"><span class="identifier">f</span></tt> evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.count_if.complexity"></a><h6>
<a name="id590891"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<a name="fusion.algorithm.query.functions.count_if.header"></a><h6>
<a name="id590974"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.query.functions.count_if.example"></a><h6>
<a name="id591144"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">odd</span><span class="special">())</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,173 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="none.html" title="none">
<link rel="next" href="find_if.html" title="find_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.find.description"></a><h6>
<a name="id587042"></a>
<a href="find.html#fusion.algorithm.query.functions.find.description">Description</a>
</h6>
<p>
Finds the first element of a given type within a sequence.
</p>
<a name="fusion.algorithm.query.functions.find.synopsis"></a><h6>
<a name="id587074"></a>
<a href="find.html#fusion.algorithm.query.functions.find.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id587273"></a><p class="title"><b>Table<EFBFBD>1.42.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to search for
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.functions.find.expression_semantics"></a><h6>
<a name="id587412"></a>
<a href="find.html#fusion.algorithm.query.functions.find.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element of <tt class="computeroutput"><span class="identifier">seq</span></tt>
of type <tt class="computeroutput"><span class="identifier">T</span></tt>, or <tt class="computeroutput"><a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt> if there is no such element. Equivalent
to <tt class="computeroutput"><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>
</p>
<a name="fusion.algorithm.query.functions.find.complexity"></a><h6>
<a name="id587665"></a>
<a href="find.html#fusion.algorithm.query.functions.find.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<a name="fusion.algorithm.query.functions.find.header"></a><h6>
<a name="id587749"></a>
<a href="find.html#fusion.algorithm.query.functions.find.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.query.functions.find.example"></a><h6>
<a name="id587918"></a>
<a href="find.html#fusion.algorithm.query.functions.find.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span><span class="char">'0'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(*</span><a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="char">'0'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,172 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="find.html" title="find">
<link rel="next" href="count.html" title="count">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
<p>
Finds the first element within a sequence with a type for which a given
<a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.find_if.description"></a><h6>
<a name="id588245"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.description">Description</a>
</h6>
<a name="fusion.algorithm.query.functions.find_if.synopsis"></a><h6>
<a name="id588271"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id588472"></a><p class="title"><b>Table<EFBFBD>1.43.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.functions.find_if.expression_semantics"></a><h6>
<a name="id588618"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: An iterator of the same
iterator category as the iterators of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the first element
of <tt class="computeroutput"><span class="identifier">seq</span></tt> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> <tt class="computeroutput"><span class="identifier">F</span></tt>
evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>, or <tt class="computeroutput"><a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt>
if there is no such element.
</p>
<a name="fusion.algorithm.query.functions.find_if.complexity"></a><h6>
<a name="id588827"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<p>
/algorithm/query/find_if.hpp&gt;
</p>
<a name="fusion.algorithm.query.functions.find_if.example"></a><h6>
<a name="id588915"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(*</span><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,181 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>none</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="all.html" title="all">
<link rel="next" href="find.html" title="find">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.none.description"></a><h6>
<a name="id585738"></a>
<a href="none.html#fusion.algorithm.query.functions.none.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">none</span></tt> returns true if
<tt class="computeroutput"><span class="identifier">f</span></tt> returns false for every
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.none.synopsis"></a><h6>
<a name="id585827"></a>
<a href="none.html#fusion.algorithm.query.functions.none.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/none.html" title="none"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">none</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id586022"></a><p class="title"><b>Table<EFBFBD>1.41.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.functions.none.expression_semantics"></a><h6>
<a name="id586223"></a>
<a href="none.html#fusion.algorithm.query.functions.none.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">false</span></tt> for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>. Result equivalent to <tt class="computeroutput"><span class="special">!</span><span class="identifier">any</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.none.complexity"></a><h6>
<a name="id586436"></a>
<a href="none.html#fusion.algorithm.query.functions.none.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<a name="fusion.algorithm.query.functions.none.header"></a><h6>
<a name="id586520"></a>
<a href="none.html#fusion.algorithm.query.functions.none.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.query.functions.none.example"></a><h6>
<a name="id586688"></a>
<a href="none.html#fusion.algorithm.query.functions.none.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,51 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../query.html" title="Query">
<link rel="prev" href="functions/count_if.html" title="count_if">
<link rel="next" href="metafunctions/any.html" title="any">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/count_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.query.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/any.html">any</a></span></dt>
<dt><span class="section"><a href="metafunctions/all.html">all</a></span></dt>
<dt><span class="section"><a href="metafunctions/none.html">none</a></span></dt>
<dt><span class="section"><a href="metafunctions/find.html">find</a></span></dt>
<dt><span class="section"><a href="metafunctions/find_if.html">find_if</a></span></dt>
<dt><span class="section"><a href="metafunctions/count.html">count</a></span></dt>
<dt><span class="section"><a href="metafunctions/count_if.html">count_if</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/count_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,165 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>all</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="any.html" title="any">
<link rel="next" href="none.html" title="none">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.all.description"></a><h6>
<a name="id592107"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>.
</p>
<a name="fusion.algorithm.query.metafunctions.all.synopsis"></a><h6>
<a name="id592156"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">all</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id592277"></a><p class="title"><b>Table<EFBFBD>1.47.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.metafunctions.all.expression_semantics"></a><h6>
<a name="id592425"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<a name="fusion.algorithm.query.metafunctions.all.complexity"></a><h6>
<a name="id592614"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.all.header"></a><h6>
<a name="id592644"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,165 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>any</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
<link rel="next" href="all.html" title="all">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.any.description"></a><h6>
<a name="id591380"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>.
</p>
<a name="fusion.algorithm.query.metafunctions.any.synopsis"></a><h6>
<a name="id591429"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">any</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id591550"></a><p class="title"><b>Table<EFBFBD>1.46.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.metafunctions.any.expression_semantics"></a><h6>
<a name="id591700"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<a name="fusion.algorithm.query.metafunctions.any.complexity"></a><h6>
<a name="id591889"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.any.header"></a><h6>
<a name="id591919"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,160 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="find_if.html" title="find_if">
<link rel="next" href="count_if.html" title="count_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.count.description"></a><h6>
<a name="id595133"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.description">Description</a>
</h6>
<p>
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count</span></tt>
given the sequence and search types.
</p>
<a name="fusion.algorithm.query.metafunctions.count.synopsis"></a><h6>
<a name="id595178"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">count</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id595298"></a><p class="title"><b>Table<EFBFBD>1.51.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
heading Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.metafunctions.count.expression_semantics"></a><h6>
<a name="id595437"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a>. The return type is always
<tt class="computeroutput"><span class="keyword">int</span></tt>.
</p>
<a name="fusion.algorithm.query.metafunctions.count.complexity"></a><h6>
<a name="id595582"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.count.header"></a><h6>
<a name="id595611"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,160 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="count.html" title="count">
<link rel="next" href="../../transformation.html" title="Transformation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.count_if.description"></a><h6>
<a name="id595801"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.description">Description</a>
</h6>
<p>
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count_if</span></tt>
given the sequence and predicate types.
</p>
<a name="fusion.algorithm.query.metafunctions.count_if.synopsis"></a><h6>
<a name="id595845"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Pred</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">count_if</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id595967"></a><p class="title"><b>Table<EFBFBD>1.52.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.metafunctions.count_if.expression_semantics"></a><h6>
<a name="id596108"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a>. The return type is
always <tt class="computeroutput"><span class="keyword">int</span></tt>.
</p>
<a name="fusion.algorithm.query.metafunctions.count_if.complexity"></a><h6>
<a name="id596264"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.count_if.header"></a><h6>
<a name="id596294"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,162 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="none.html" title="none">
<link rel="next" href="find_if.html" title="find_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.find.description"></a><h6>
<a name="id593561"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.description">Description</a>
</h6>
<p>
Returns the result type of <tt class="computeroutput"><span class="identifier">find</span></tt>,
given the sequence and search types.
</p>
<a name="fusion.algorithm.query.metafunctions.find.synopsis"></a><h6>
<a name="id593605"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">find</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id593724"></a><p class="title"><b>Table<EFBFBD>1.49.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
Model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.metafunctions.find.expression_semantics"></a><h6>
<a name="id593864"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, or <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
if there is no such element.
</p>
<a name="fusion.algorithm.query.metafunctions.find.complexity"></a><h6>
<a name="id594067"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.complexity">Complexity</a>
</h6>
<p>
Linear, at most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<a name="fusion.algorithm.query.metafunctions.find.header"></a><h6>
<a name="id594151"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,163 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="find.html" title="find">
<link rel="next" href="count.html" title="count">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.find_if.description"></a><h6>
<a name="id594343"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.description">Description</a>
</h6>
<p>
Returns the result type of <tt class="computeroutput"><span class="identifier">find_if</span></tt>
given the sequence and predicate types.
</p>
<a name="fusion.algorithm.query.metafunctions.find_if.synopsis"></a><h6>
<a name="id594387"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Pred</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">find_if</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id594506"></a><p class="title"><b>Table<EFBFBD>1.50.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
Operation's arguments
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.metafunctions.find_if.expression_semantics"></a><h6>
<a name="id594655"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to true. Returns <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> if there is no such element.
</p>
<a name="fusion.algorithm.query.metafunctions.find_if.complexity"></a><h6>
<a name="id594861"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p>
<a name="fusion.algorithm.query.metafunctions.find_if.header"></a><h6>
<a name="id594944"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,165 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>none</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="all.html" title="all">
<link rel="next" href="find.html" title="find">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.none.description"></a><h6>
<a name="id592832"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a>.
</p>
<a name="fusion.algorithm.query.metafunctions.none.synopsis"></a><h6>
<a name="id592881"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">none</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id593003"></a><p class="title"><b>Table<EFBFBD>1.48.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.query.metafunctions.none.expression_semantics"></a><h6>
<a name="id593150"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a>
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<a name="fusion.algorithm.query.metafunctions.none.complexity"></a><h6>
<a name="id593339"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.none.header"></a><h6>
<a name="id593369"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,70 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Transformation</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithm.html" title="Algorithm">
<link rel="prev" href="query/metafunctions/count_if.html" title="count_if">
<link rel="next" href="transformation/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.transformation"></a><a href="transformation.html" title="Transformation">Transformation</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="transformation/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions.html">Metafunctions</a></span></dt>
</dl></div>
<p>
The transformation algorithms create new sequences out of existing sequences
by performing some sort of transformation. In reality the new sequences are
views onto the data in the original sequences.
</p>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/html/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td colspan="2" align="left" valign="top"><p>
As the transformation algorithms return views onto their input arguments,
it is important that the lifetime of the input arguments is greater than
the period during which you wish to use the results.
</p></td></tr>
</table></div>
<a name="fusion.algorithm.transformation.header"></a><h4>
<a name="id596506"></a>
<a href="transformation.html#fusion.algorithm.transformation.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,63 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../transformation.html" title="Transformation">
<link rel="prev" href="../transformation.html" title="Transformation">
<link rel="next" href="functions/filter.html" title="filter">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../transformation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.transformation.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="functions/filter.html">filter</a></span></dt>
<dt><span class="section"><a href="functions/filter_if.html">filter_if</a></span></dt>
<dt><span class="section"><a href="functions/transform.html">transform</a></span></dt>
<dt><span class="section"><a href="functions/replace.html">replace</a></span></dt>
<dt><span class="section"><a href="functions/replace_if.html">replace_if</a></span></dt>
<dt><span class="section"><a href="functions/remove.html">remove</a></span></dt>
<dt><span class="section"><a href="functions/remove_if.html">remove_if</a></span></dt>
<dt><span class="section"><a href="functions/reverse.html">reverse</a></span></dt>
<dt><span class="section"><a href="functions/clear.html">clear</a></span></dt>
<dt><span class="section"><a href="functions/erase.html">erase</a></span></dt>
<dt><span class="section"><a href="functions/erase_key.html">erase_key</a></span></dt>
<dt><span class="section"><a href="functions/insert.html">insert</a></span></dt>
<dt><span class="section"><a href="functions/insert_range.html">insert_range</a></span></dt>
<dt><span class="section"><a href="functions/join.html">join</a></span></dt>
<dt><span class="section"><a href="functions/zip.html">zip</a></span></dt>
<dt><span class="section"><a href="functions/pop_back.html">pop_back</a></span></dt>
<dt><span class="section"><a href="functions/pop_front.html">pop_front</a></span></dt>
<dt><span class="section"><a href="functions/push_back.html">push_back</a></span></dt>
<dt><span class="section"><a href="functions/push_front.html">push_front</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../transformation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,144 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>clear</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="reverse.html" title="reverse">
<link rel="next" href="erase.html" title="erase">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.clear.description"></a><h6>
<a name="id606103"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.description">Description</a>
</h6>
<p>
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a> returns an empty sequence.
</p>
<a name="fusion.algorithm.transformation.functions.clear.synposis"></a><h6>
<a name="id606152"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.synposis">Synposis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">clear</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id606309"></a><p class="title"><b>Table<EFBFBD>1.62.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.clear.expression_semantics"></a><h6>
<a name="id606413"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Expression Semantics</b></span>: Returns a sequence
with no elements.
</p>
<a name="fusion.algorithm.transformation.functions.clear.complexity"></a><h6>
<a name="id606511"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.functions.clear.header"></a><h6>
<a name="id606542"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.clear.example"></a><h6>
<a name="id606712"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">());</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,212 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="clear.html" title="clear">
<link rel="next" href="erase_key.html" title="erase_key">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.erase.description"></a><h6>
<a name="id606876"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.description">Description</a>
</h6>
<p>
Returns a new sequence, containing all the elements of the original except
those at a specified iterator, or between two iterators.
</p>
<a name="fusion.algorithm.transformation.functions.erase.synposis"></a><h6>
<a name="id606910"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.synposis">Synposis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">First</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it1</span><span class="special">);</span>
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Last</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Last</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it1</span><span class="special">,</span> <span class="identifier">Last</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it2</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id607372"></a><p class="title"><b>Table<EFBFBD>1.63.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameters
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">it1</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Iterator into <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">it2</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Iterator into <tt class="computeroutput"><span class="identifier">seq</span></tt>
after <tt class="computeroutput"><span class="identifier">it1</span></tt>
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.erase.expression_semantics"></a><h6>
<a name="id607599"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
except the element at <tt class="computeroutput"><span class="identifier">pos</span></tt>.
</p>
<pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, with
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, except those in the range [<tt class="computeroutput"><span class="identifier">first</span></tt>,<tt class="computeroutput"><span class="identifier">last</span></tt>).
</p>
<a name="fusion.algorithm.transformation.functions.erase.complexity"></a><h6>
<a name="id607858"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.erase.header"></a><h6>
<a name="id607890"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.erase.example"></a><h6>
<a name="id608060"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="char">'c'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,171 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase_key</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="erase.html" title="erase">
<link rel="next" href="insert.html" title="insert">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.erase_key.description"></a><h6>
<a name="id608514"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.description">Description</a>
</h6>
<p>
For an <a href="../../../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a> <tt class="computeroutput"><span class="identifier">seq</span></tt>,
returns a <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> containing all the elements of the original except those
with a given key.
</p>
<a name="fusion.algorithm.transformation.functions.erase_key.synposis"></a><h6>
<a name="id608577"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.synposis">Synposis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id608750"></a><p class="title"><b>Table<EFBFBD>1.64.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Key</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Key to erase
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.erase_key.expression_semantics"></a><h6>
<a name="id608891"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.erase_key.complexity"></a><h6>
<a name="id609024"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.erase_key.header"></a><h6>
<a name="id609054"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.erase_key.example"></a><h6>
<a name="id609225"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><a href="../../../container/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'b'</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,168 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="filter_if.html" title="filter_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.filter.description"></a><h6>
<a name="id596707"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.description">Description</a>
</h6>
<p>
For a given sequence, filter returns a new sequences containing only
the elements of a specified type.
</p>
<a name="fusion.algorithm.transformation.functions.filter.synopsis"></a><h6>
<a name="id596741"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id596926"></a><p class="title"><b>Table<EFBFBD>1.53.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to retain
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.filter.expression_semantics"></a><h6>
<a name="id597064"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.filter.complexity"></a><h6>
<a name="id597279"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.filter.header"></a><h6>
<a name="id597311"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.filter.example"></a><h6>
<a name="id597481"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">long</span><span class="special">,</span><span class="keyword">long</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,171 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="filter.html" title="filter">
<link rel="next" href="transform.html" title="transform">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.filter_if.description"></a><h6>
<a name="id597749"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.description">Description</a>
</h6>
<p>
For a given sequence, <a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a> returns a new sequences
containing only the elements with types for which a given <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.filter_if.synopsis"></a><h6>
<a name="id597840"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id598027"></a><p class="title"><b>Table<EFBFBD>1.54.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
The predicate to filter by
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.filter_if.expression_semantics"></a><h6>
<a name="id598175"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
with types for which <tt class="computeroutput"><span class="identifier">Pred</span></tt>
evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. The order of the retained elements
is the same as in the original sequence.
</p>
<a name="fusion.algorithm.transformation.functions.filter_if.complexity"></a><h6>
<a name="id598342"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.filter_if.header"></a><h6>
<a name="id598373"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.filter_if.example"></a><h6>
<a name="id598543"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3.0</span><span class="special">,</span><span class="number">4.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,189 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="erase_key.html" title="erase_key">
<link rel="next" href="insert_range.html" title="insert_range">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.insert.description"></a><h6>
<a name="id609433"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.description">Description</a>
</h6>
<p>
Returns a new sequence with all the elements of the original, an a new
element inserted the position described by a given iterator.
</p>
<a name="fusion.algorithm.transformation.functions.insert.synposis"></a><h6>
<a name="id609466"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.synposis">Synposis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Pos</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id609657"></a><p class="title"><b>Table<EFBFBD>1.65.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">pos</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
The position to insert at
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">t</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to insert
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.insert.expression_semantics"></a><h6>
<a name="id609842"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, and a new element with the type and value of
<tt class="computeroutput"><span class="identifier">t</span></tt> inserted at iterator
<tt class="computeroutput"><span class="identifier">pos</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.insert.complexity"></a><h6>
<a name="id609998"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.insert.header"></a><h6>
<a name="id610030"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.insert.example"></a><h6>
<a name="id610200"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,192 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert_range</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="insert.html" title="insert">
<link rel="next" href="join.html" title="join">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.insert_range.description"></a><h6>
<a name="id610494"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.description">Description</a>
</h6>
<p>
Returns a new sequence with another sequence inserted at a specified
iterator.
</p>
<a name="fusion.algorithm.transformation.functions.insert_range.synposis"></a><h6>
<a name="id610527"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.synposis">Synposis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Pos</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Range</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">insert_range</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">Range</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">range</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id610800"></a><p class="title"><b>Table<EFBFBD>1.66.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">pos</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
The position to insert at
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">range</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Range to insert
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.insert_range.expression_semantics"></a><h6>
<a name="id610994"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">range</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
and the elements of <tt class="computeroutput"><span class="identifier">range</span></tt>
inserted at iterator <tt class="computeroutput"><span class="identifier">pos</span></tt>.
All elements retaining their ordering from the orignal sequences.
</p>
<a name="fusion.algorithm.transformation.functions.insert_range.complexity"></a><h6>
<a name="id611154"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.insert_range.header"></a><h6>
<a name="id611185"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.insert_range.example"></a><h6>
<a name="id611356"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,170 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>join</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="insert_range.html" title="insert_range">
<link rel="next" href="zip.html" title="zip">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.join.description"></a><h6>
<a name="id611687"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.description">Description</a>
</h6>
<p>
Takes 2 sequences and returns a sequence containing the elements of the
first followed by the elements of the second.
</p>
<a name="fusion.algorithm.transformation.functions.join.synopsis"></a><h6>
<a name="id611720"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">RhSequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">join</span><span class="special">(</span><span class="identifier">LhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">RhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id611928"></a><p class="title"><b>Table<EFBFBD>1.67.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">lhs</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">rhs</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.join.expression_semantics"></a><h6>
<a name="id612075"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></a><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">lhs</span></tt>
followed by all the elements of <tt class="computeroutput"><span class="identifier">rhs</span></tt>.
The order of th elements is preserved.
</p>
<a name="fusion.algorithm.transformation.functions.join.complexity"></a><h6>
<a name="id612208"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.join.header"></a><h6>
<a name="id612240"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.join.example"></a><h6>
<a name="id612410"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="char">'b'</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,146 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="zip.html" title="zip">
<link rel="next" href="pop_front.html" title="pop_front">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.pop_back.description"></a><h6>
<a name="id614031"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.description">Description</a>
</h6>
<p>
Returns a new sequence, with the last element of the original removed.
</p>
<a name="fusion.algorithm.transformation.functions.pop_back.synopsis"></a><h6>
<a name="id614064"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id614222"></a><p class="title"><b>Table<EFBFBD>1.69.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.pop_back.expression_semantics"></a><h6>
<a name="id614324"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
except the last element. The elements in the new sequence are in the
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.pop_back.complexity"></a><h6>
<a name="id614446"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.pop_back.header"></a><h6>
<a name="id614479"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.pop_back.example"></a><h6>
<a name="id614650"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">___pop_back__</span><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,146 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="pop_back.html" title="pop_back">
<link rel="next" href="push_back.html" title="push_back">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.pop_front.description"></a><h6>
<a name="id614824"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.description">Description</a>
</h6>
<p>
Returns a new sequence, with the first element of the original removed.
</p>
<a name="fusion.algorithm.transformation.functions.pop_front.synopsis"></a><h6>
<a name="id614856"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id615014"></a><p class="title"><b>Table<EFBFBD>1.70.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.pop_front.expression_semantics"></a><h6>
<a name="id615118"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
except the first element. The elements in the new sequence are in the
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.pop_front.complexity"></a><h6>
<a name="id615242"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.pop_front.header"></a><h6>
<a name="id615272"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.pop_front.example"></a><h6>
<a name="id615443"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,167 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="pop_front.html" title="pop_front">
<link rel="next" href="push_front.html" title="push_front">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.push_back.description"></a><h6>
<a name="id615625"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.description">Description</a>
</h6>
<p>
Returns a new sequence with an element added at the end.
</p>
<a name="fusion.algorithm.transformation.functions.push_back.synopsis"></a><h6>
<a name="id615658"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">push_back</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id615867"></a><p class="title"><b>Table<EFBFBD>1.71.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">t</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to add to the end
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.push_back.expression_semantics"></a><h6>
<a name="id616008"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended
to the end. The elements are in the same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.push_back.complexity"></a><h6>
<a name="id616154"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.push_back.header"></a><h6>
<a name="id616184"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.push_back.example"></a><h6>
<a name="id616355"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">4</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,168 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="push_back.html" title="push_back">
<link rel="next" href="../metafunctions.html" title="Metafunctions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.push_front.description"></a><h6>
<a name="id616570"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.description">Description</a>
</h6>
<p>
Returns a new sequence with an element added at the beginning.
</p>
<a name="fusion.algorithm.transformation.functions.push_front.synopsis"></a><h6>
<a name="id616603"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">push_front</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id616813"></a><p class="title"><b>Table<EFBFBD>1.72.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">t</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to add to the beginning
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.push_front.expression_semantics"></a><h6>
<a name="id616953"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended
to the beginning. The elements are in the same order as they were in
<tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.push_front.complexity"></a><h6>
<a name="id617098"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.push_front.header"></a><h6>
<a name="id617129"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.push_front.example"></a><h6>
<a name="id617300"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">0</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,168 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="replace_if.html" title="replace_if">
<link rel="next" href="remove_if.html" title="remove_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.remove.description"></a><h6>
<a name="id603228"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.description">Description</a>
</h6>
<p>
Returns a new sequence, with all the elements of the original sequence,
except those of a given type.
</p>
<a name="fusion.algorithm.transformation.functions.remove.synopsis"></a><h6>
<a name="id603261"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id603447"></a><p class="title"><b>Table<EFBFBD>1.59.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Type to remove
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.remove.expression_semantics"></a><h6>
<a name="id603585"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, except those of type <tt class="computeroutput"><span class="identifier">T</span></tt>.
Equivalent to <tt class="computeroutput"><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.remove.complexity"></a><h6>
<a name="id603802"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.remove.header"></a><h6>
<a name="id603834"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.remove.example"></a><h6>
<a name="id604004"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,170 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="remove.html" title="remove">
<link rel="next" href="reverse.html" title="reverse">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.remove_if.description"></a><h6>
<a name="id604224"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.description">Description</a>
</h6>
<p>
Returns a new sequence, containing all the elements of the original except
those where a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.remove_if.synopsis"></a><h6>
<a name="id604270"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id604456"></a><p class="title"><b>Table<EFBFBD>1.60.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
Removal predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.remove_if.expression_semantics"></a><h6>
<a name="id604604"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, except those elements with types for which
<tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. Equivalent to <tt class="computeroutput"><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_</span><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;</span>
<span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.remove_if.complexity"></a><h6>
<a name="id604854"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.remove_if.header"></a><h6>
<a name="id604885"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.remove_if.example"></a><h6>
<a name="id605056"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,189 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="transform.html" title="transform">
<link rel="next" href="replace_if.html" title="replace_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.replace.description"></a><h6>
<a name="id600893"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.description">Description</a>
</h6>
<p>
Replaces each value within a sequence of a given type and value with
a new value.
</p>
<a name="fusion.algorithm.transformation.functions.replace.synopsis"></a><h6>
<a name="id600926"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id601171"></a><p class="title"><b>Table<EFBFBD>1.57.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">old_value</span></tt>
is a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>,
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt> with type
convertible to <tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">old_value</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Value to replace
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">new_value</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Replacement value
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.replace.expression_semantics"></a><h6>
<a name="id601419"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
all the values of <tt class="computeroutput"><span class="identifier">seq</span></tt>
with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned
to elements with the same type and equal to <tt class="computeroutput"><span class="identifier">old_value</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.replace.complexity"></a><h6>
<a name="id601576"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.replace.header"></a><h6>
<a name="id601608"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.replace.example"></a><h6>
<a name="id601779"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,198 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="replace.html" title="replace">
<link rel="next" href="remove.html" title="remove">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.replace_if.description"></a><h6>
<a name="id601977"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.description">Description</a>
</h6>
<p>
Replaces each element of a given sequence for which an unary function
object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>
replaced with a new value.
</p>
<a name="fusion.algorithm.transformation.functions.replace_if.synopsis"></a><h6>
<a name="id602022"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace_if</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id602282"></a><p class="title"><b>Table<EFBFBD>1.58.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A function object for which <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">new_value</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Replacement value
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.replace_if.expression_semantics"></a><h6>
<a name="id602521"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned
to each element for which <tt class="computeroutput"><span class="identifier">f</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.replace_if.complexity"></a><h6>
<a name="id602690"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.replace_if.header"></a><h6>
<a name="id602720"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.replace_if.example"></a><h6>
<a name="id602891"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">%</span> <span class="number">2</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">(),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,145 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>reverse</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="remove_if.html" title="remove_if">
<link rel="next" href="clear.html" title="clear">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.reverse.description"></a><h6>
<a name="id605304"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.description">Description</a>
</h6>
<p>
Returns a new sequence with the elements of the original in reverse order.
</p>
<a name="fusion.algorithm.transformation.functions.reverse.synposis"></a><h6>
<a name="id605337"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.synposis">Synposis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id605494"></a><p class="title"><b>Table<EFBFBD>1.61.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.reverse.expression_semantics"></a><h6>
<a name="id605598"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
in reverse order.
</p>
<a name="fusion.algorithm.transformation.functions.reverse.complexity"></a><h6>
<a name="id605707"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.reverse.header"></a><h6>
<a name="id605739"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.reverse.example"></a><h6>
<a name="id605910"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,296 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>transform</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="filter_if.html" title="filter_if">
<link rel="next" href="replace.html" title="replace">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.transform.description"></a><h6>
<a name="id598838"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">transform</span></tt> returns a new
sequence with elements created by applying <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> to each element of <tt class="computeroutput"><span class="identifier">e</span></tt>
of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.transform.unary_version_synopsis"></a><h6>
<a name="id598957"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.unary_version_synopsis">Unary
version synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id599164"></a><p class="title"><b>Table<EFBFBD>1.55.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
is a valid expression for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of <tt class="computeroutput"><span class="identifier">seq</span></tt>. <tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with a value of
each element type <tt class="computeroutput"><span class="identifier">E</span></tt>.
</p>
</td>
<td>
<p>
Transformation function
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.transform.expression_semantics"></a><h6>
<a name="id599436"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
within <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.transform.binary_version_synopsis"></a><h6>
<a name="id599596"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.binary_version_synopsis">Binary
version synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id599864"></a><p class="title"><b>Table<EFBFBD>1.56.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq1</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq2</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">e2</span><span class="special">)</span></tt>
is a valid expression for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt>
of <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt> of <tt class="computeroutput"><span class="identifier">seq2</span></tt>.
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E1</span><span class="special">,</span><span class="identifier">E2</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with elements of
type <tt class="computeroutput"><span class="identifier">E1</span></tt> and <tt class="computeroutput"><span class="identifier">E2</span></tt>
</p>
</td>
<td>
<p>
Transformation function
</p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt>
within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively.
</p>
<a name="fusion.algorithm.transformation.functions.transform.complexity"></a><h6>
<a name="id600351"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.transform.header"></a><h6>
<a name="id600382"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.transform.example"></a><h6>
<a name="id600552"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">triple</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
<span class="keyword">int</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">int</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">*</span> <span class="number">3</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,157 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>zip</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="join.html" title="join">
<link rel="next" href="pop_back.html" title="pop_back">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.zip.description"></a><h6>
<a name="id612726"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.description">Description</a>
</h6>
<p>
Zips sequences together to form a single sequence, whos members are tuples
of the members of the component sequences.
</p>
<a name="fusion.algorithm.transformation.functions.zip.synopsis"></a><h6>
<a name="id612759"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
<span class="special">...</span>
<span class="keyword">typename</span> <span class="identifier">SequenceN</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/zip.html" title="zip"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">zip</span><span class="special">(</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seqN</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id613044"></a><p class="title"><b>Table<EFBFBD>1.68.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq1</span></tt> to <tt class="computeroutput"><span class="identifier">seqN</span></tt>
</p>
</td>
<td>
<p>
Each sequence is a model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.functions.zip.expression_semantics"></a><h6>
<a name="id613160"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">seqN</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
tuples of elements from sequences <tt class="computeroutput"><span class="identifier">seq1</span></tt>
to <tt class="computeroutput"><span class="identifier">seqN</span></tt>. For example,
applying zip to tuples <tt class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span></tt>
and <tt class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">)</span></tt>
would return <tt class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">))</span></tt>
</p>
<a name="fusion.algorithm.transformation.functions.zip.complexity"></a><h6>
<a name="id613470"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.zip.header"></a><h6>
<a name="id613502"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.functions.zip.example"></a><h6>
<a name="id613671"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.example">Example</a>
</h6>
<pre class="programlisting">
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,63 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../transformation.html" title="Transformation">
<link rel="prev" href="functions/push_front.html" title="push_front">
<link rel="next" href="metafunctions/filter.html" title="filter">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/push_front.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.transformation.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/filter.html">filter</a></span></dt>
<dt><span class="section"><a href="metafunctions/filter_if.html">filter_if</a></span></dt>
<dt><span class="section"><a href="metafunctions/transform.html">transform</a></span></dt>
<dt><span class="section"><a href="metafunctions/replace.html">replace</a></span></dt>
<dt><span class="section"><a href="metafunctions/replace_if.html">replace_if</a></span></dt>
<dt><span class="section"><a href="metafunctions/remove.html">remove</a></span></dt>
<dt><span class="section"><a href="metafunctions/remove_if.html">remove_if</a></span></dt>
<dt><span class="section"><a href="metafunctions/reverse.html">reverse</a></span></dt>
<dt><span class="section"><a href="metafunctions/clear.html">clear</a></span></dt>
<dt><span class="section"><a href="metafunctions/erase.html">erase</a></span></dt>
<dt><span class="section"><a href="metafunctions/erase_key.html">erase_key</a></span></dt>
<dt><span class="section"><a href="metafunctions/insert.html">insert</a></span></dt>
<dt><span class="section"><a href="metafunctions/insert_range.html">insert_range</a></span></dt>
<dt><span class="section"><a href="metafunctions/join.html">join</a></span></dt>
<dt><span class="section"><a href="metafunctions/zip.html">zip</a></span></dt>
<dt><span class="section"><a href="metafunctions/pop_back.html">pop_back</a></span></dt>
<dt><span class="section"><a href="metafunctions/pop_front.html">pop_front</a></span></dt>
<dt><span class="section"><a href="metafunctions/push_back.html">push_back</a></span></dt>
<dt><span class="section"><a href="metafunctions/push_front.html">push_front</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/push_front.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,138 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>clear</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="reverse.html" title="reverse">
<link rel="next" href="erase.html" title="erase">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.clear.description"></a><h6>
<a name="id624719"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a>, given the input sequence
type.
</p>
<a name="fusion.algorithm.transformation.metafunctions.clear.synopsis"></a><h6>
<a name="id624769"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">clear</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id624871"></a><p class="title"><b>Table<EFBFBD>1.82.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.clear.expression_semantics"></a><h6>
<a name="id624967"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns an empty sequence.
</p>
<a name="fusion.algorithm.transformation.metafunctions.clear.complexity"></a><h6>
<a name="id625081"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.clear.header"></a><h6>
<a name="id625113"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,195 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="clear.html" title="clear">
<link rel="next" href="erase_key.html" title="erase_key">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
<p>
Returns the result type of <a href="../functions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a>, given the input sequence
and range delimiting iterator types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase.description"></a><h6>
<a name="id625329"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.description">Description</a>
</h6>
<a name="fusion.algorithm.transformation.metafunctions.erase.synopsis"></a><h6>
<a name="id625355"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">It1</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">It2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">erase</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id625501"></a><p class="title"><b>Table<EFBFBD>1.83.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">It1</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">It2</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.erase.expression_semantics"></a><h6>
<a name="id625695"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
the element at <tt class="computeroutput"><span class="identifier">It1</span></tt> removed.
</p>
<pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
the elements between <tt class="computeroutput"><span class="identifier">It1</span></tt>
and <tt class="computeroutput"><span class="identifier">It2</span></tt> removed.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase.complexity"></a><h6>
<a name="id625965"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase.header"></a><h6>
<a name="id625995"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,162 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase_key</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="erase.html" title="erase">
<link rel="next" href="insert.html" title="insert">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.description"></a><h6>
<a name="id626190"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a>, given the sequence
and key types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.synopsis"></a><h6>
<a name="id626241"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Key</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">erase_key</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id626362"></a><p class="title"><b>Table<EFBFBD>1.84.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Key</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Key type
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
<a name="id626502"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>,
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.complexity"></a><h6>
<a name="id626650"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.header"></a><h6>
<a name="id626681"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,164 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
<link rel="next" href="filter_if.html" title="filter_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.filter.description"></a><h6>
<a name="id617534"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a> given the sequence type
and type to retain.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter.synopsis"></a><h6>
<a name="id617585"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">filter</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id617704"></a><p class="title"><b>Table<EFBFBD>1.73.<2E>Parameter</b></p>
<table class="table" summary="Parameter">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Type to retain
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.filter.expression_semantics"></a><h6>
<a name="id617845"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
that are of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter.complexity"></a><h6>
<a name="id618106"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter.header"></a><h6>
<a name="id618137"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,165 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="filter.html" title="filter">
<link rel="next" href="transform.html" title="transform">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.description"></a><h6>
<a name="id618330"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a> given the sequence
and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> predicate type.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.synopsis"></a><h6>
<a name="id618389"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Pred</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">filter_if</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id618511"></a><p class="title"><b>Table<EFBFBD>1.74.<2E>Parameter</b></p>
<table class="table" summary="Parameter">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
Type to retain
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
<a name="id618656"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.complexity"></a><h6>
<a name="id618840"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.header"></a><h6>
<a name="id618872"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,183 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="erase_key.html" title="erase_key">
<link rel="next" href="insert_range.html" title="insert_range">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.insert.description"></a><h6>
<a name="id627695"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a>, given the sequence,
position iterator and insertion types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert.synopsis"></a><h6>
<a name="id627740"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Position</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">insert</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id386964"></a><p class="title"><b>Table<EFBFBD>1.85.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Position</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.insert.expression_semantics"></a><h6>
<a name="id627938"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with an
element of type <tt class="computeroutput"><span class="identifier">T</span></tt> inserted
at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert.complexity"></a><h6>
<a name="id628089"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert.header"></a><h6>
<a name="id628116"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,185 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert_range</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="insert.html" title="insert">
<link rel="next" href="join.html" title="join">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.description"></a><h6>
<a name="id628289"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a>, given the input
sequence, position iterator and insertion range types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.synopsis"></a><h6>
<a name="id628334"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Position</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Range</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">insert_range</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id628458"></a><p class="title"><b>Table<EFBFBD>1.86.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Position</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Range</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
<a name="id628642"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Range</span></tt> inserted
at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
into <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.complexity"></a><h6>
<a name="id628794"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.header"></a><h6>
<a name="id628822"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,97 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>join</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="insert_range.html" title="insert_range">
<link rel="next" href="zip.html" title="zip">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.join.description"></a><h6>
<a name="id629814"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.description">Description</a>
</h6>
<p>
Returns the result of joining 2 sequences, given the sequence types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.join.synopsis"></a><h6>
<a name="id629842"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">RhSequence</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">join</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<a name="fusion.algorithm.transformation.metafunctions.join.expression_semantics"></a><h6>
<a name="id385725"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">LhSequence</span></tt>
followed by the elements of <tt class="computeroutput"><span class="identifier">RhSequence</span></tt>.
The order of the elements in the 2 sequences is preserved.
</p>
<a name="fusion.algorithm.transformation.metafunctions.join.complexity"></a><h6>
<a name="id629988"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.join.header"></a><h6>
<a name="id630014"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,142 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="zip.html" title="zip">
<link rel="next" href="pop_front.html" title="pop_front">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.description"></a><h6>
<a name="id630838"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a>, given the input sequence
type.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.synopsis"></a><h6>
<a name="id630881"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">pop_back</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id630973"></a><p class="title"><b>Table<EFBFBD>1.87.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
<a name="id631073"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with all
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
except the last element.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.complexity"></a><h6>
<a name="id631186"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.header"></a><h6>
<a name="id631213"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">tranformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,137 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="pop_back.html" title="pop_back">
<link rel="next" href="push_back.html" title="push_back">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.description"></a><h6>
<a name="id631386"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a>, given the input sequence
type.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.synopsis"></a><h6>
<a name="id631430"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">pop_front</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id631522"></a><p class="title"><b>Table<EFBFBD>1.88.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
<a name="id631621"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with all
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
except the first element.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.complexity"></a><h6>
<a name="id631734"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<p>
/algorithm/transformation/pop_front.hpp&gt;
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,158 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="pop_front.html" title="pop_front">
<link rel="next" href="push_front.html" title="push_front">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.push_back.description"></a><h6>
<a name="id631786"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a>, given the types of
the input sequence and element to push.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_back.synopsis"></a><h6>
<a name="id631832"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">push_back</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id631940"></a><p class="title"><b>Table<EFBFBD>1.89.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.push_back.expression_semantics"></a><h6>
<a name="id632074"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
added to the end.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_back.complexity"></a><h6>
<a name="id632206"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<p>
/algorithm/transformation/push_back.hpp&gt;
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,158 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="push_back.html" title="push_back">
<link rel="next" href="../../../tuple.html" title="Tuple">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.push_front.description"></a><h6>
<a name="id632258"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a>, given the types
of the input sequence and element to push.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_front.synopsis"></a><h6>
<a name="id632305"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">push_front</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id632413"></a><p class="title"><b>Table<EFBFBD>1.90.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.push_front.expression_semantics"></a><h6>
<a name="id632547"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
added to the beginning.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_front.complexity"></a><h6>
<a name="id632680"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<p>
/algorithm/transformation/push_front.hpp&gt;
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,164 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="replace_if.html" title="replace_if">
<link rel="next" href="remove_if.html" title="remove_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.remove.description"></a><h6>
<a name="id622553"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a>, given the sequence and
removal types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove.synopsis"></a><h6>
<a name="id622605"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">remove</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id622724"></a><p class="title"><b>Table<EFBFBD>1.79.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Remove elements of this type
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.remove.expression_semantics"></a><h6>
<a name="id622863"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
not of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
to <tt class="computeroutput"><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove.complexity"></a><h6>
<a name="id623124"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove.header"></a><h6>
<a name="id623155"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,165 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="remove.html" title="remove">
<link rel="next" href="reverse.html" title="reverse">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.description"></a><h6>
<a name="id623348"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a>, given the input sequence
and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> predicate types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.synopsis"></a><h6>
<a name="id623406"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Pred</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">remove_if</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id623528"></a><p class="title"><b>Table<EFBFBD>1.80.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
Remove elements which evaluate to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
<a name="id623706"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.complexity"></a><h6>
<a name="id623890"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.header"></a><h6>
<a name="id623921"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,161 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="transform.html" title="transform">
<link rel="next" href="replace_if.html" title="replace_if">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.replace.description"></a><h6>
<a name="id621114"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>, given the types of
the input sequence and element to replace.
</p>
<a name="fusion.algorithm.transformation.metafunctions.replace.synopsis"></a><h6>
<a name="id621166"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">replace</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id621285"></a><p class="title"><b>Table<EFBFBD>1.77.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type of the search and replacement objects
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.replace.expression_semantics"></a><h6>
<a name="id621428"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.replace.complexity"></a><h6>
<a name="id621570"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.replace.header"></a><h6>
<a name="id621601"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,182 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="replace.html" title="replace">
<link rel="next" href="remove.html" title="remove">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.description"></a><h6>
<a name="id621794"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>, given the types
of the sequence, <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> predicate and replacement object.
</p>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.synopsis"></a><h6>
<a name="id621855"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">replace_if</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id621992"></a><p class="title"><b>Table<EFBFBD>1.78.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</p>
</td>
<td>
<p>
Replacement predicate
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type of the replacement object
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.expression_semantics"></a><h6>
<a name="id622176"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.complexity"></a><h6>
<a name="id622330"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.header"></a><h6>
<a name="id622361"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,141 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>reverse</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="remove_if.html" title="remove_if">
<link rel="next" href="clear.html" title="clear">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.reverse.description"></a><h6>
<a name="id624113"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a>, given the input sequence
type.
</p>
<a name="fusion.algorithm.transformation.metafunctions.reverse.synopsis"></a><h6>
<a name="id624163"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">reverse</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<div class="table">
<a name="id624265"></a><p class="title"><b>Table<EFBFBD>1.81.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.reverse.expression_semantics"></a><h6>
<a name="id624369"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements in the reverse order to <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.reverse.complexity"></a><h6>
<a name="id624496"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.reverse.header"></a><h6>
<a name="id624527"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,296 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>transform</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="filter_if.html" title="filter_if">
<link rel="next" href="replace.html" title="replace">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.transform.description"></a><h6>
<a name="id619064"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.description">Description</a>
</h6>
<p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">transform</span></tt> returns a new
sequence with elements created by applying <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> to each element of <tt class="computeroutput"><span class="identifier">e</span></tt>
of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.transform.unary_version_synopsis"></a><h6>
<a name="id619181"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.unary_version_synopsis">Unary
version synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id619385"></a><p class="title"><b>Table<EFBFBD>1.75.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
is a valid expression for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of <tt class="computeroutput"><span class="identifier">seq</span></tt>. <tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with a value of
each element type <tt class="computeroutput"><span class="identifier">E</span></tt>.
</p>
</td>
<td>
<p>
Transformation function
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithm.transformation.metafunctions.transform.expression_semantics"></a><h6>
<a name="id619657"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
within <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.transform.binary_version_synopsis"></a><h6>
<a name="id619817"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.binary_version_synopsis">Binary
version synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id620085"></a><p class="title"><b>Table<EFBFBD>1.76.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq1</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq2</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">e2</span><span class="special">)</span></tt>
is a valid expression for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt>
of <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt> of <tt class="computeroutput"><span class="identifier">seq2</span></tt>.
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E1</span><span class="special">,</span><span class="identifier">E2</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with elements of
type <tt class="computeroutput"><span class="identifier">E1</span></tt> and <tt class="computeroutput"><span class="identifier">E2</span></tt>
</p>
</td>
<td>
<p>
Transformation function
</p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt>
within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively.
</p>
<a name="fusion.algorithm.transformation.metafunctions.transform.complexity"></a><h6>
<a name="id620574"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.metafunctions.transform.header"></a><h6>
<a name="id620604"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithm.transformation.metafunctions.transform.example"></a><h6>
<a name="id620775"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">triple</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
<span class="keyword">int</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">int</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">t</span> <span class="special">*</span> <span class="number">3</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,104 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>zip</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="join.html" title="join">
<link rel="next" href="pop_back.html" title="pop_back">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.zip.description"></a><h6>
<a name="id630186"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.description">Description</a>
</h6>
<p>
Zips sequences together to form a single sequence, whos members are tuples
of the members of the component sequences.
</p>
<a name="fusion.algorithm.transformation.metafunctions.zip.synopsis"></a><h6>
<a name="id630215"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
<span class="special">...</span>
<span class="keyword">typename</span> <span class="identifier">SequenceN</span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">zip</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<a name="fusion.algorithm.transformation.metafunctions.zip.expression_semantics"></a><h6>
<a name="id630353"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of the most restrictive
traversal category of sequences <tt class="computeroutput"><span class="identifier">Sequence1</span></tt>
to <tt class="computeroutput"><span class="identifier">SequenceN</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Return a sequence containing
tuples of elements from each sequence. For example, applying zip to tuples
<tt class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span>
<span class="number">3</span><span class="special">)</span></tt>
and <tt class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">)</span></tt>
would return <tt class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">))</span></tt>
</p>
<a name="fusion.algorithm.transformation.metafunctions.zip.complexity"></a><h6>
<a name="id630640"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.zip.header"></a><h6>
<a name="id630666"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,58 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Change log</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="notes.html" title="Notes">
<link rel="next" href="acknowledgements.html" title="Acknowledgements">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.change_log"></a><a href="change_log.html" title="Change log">Change log</a></h2></div></div></div>
<p>
This section summarizes significant changes to the Fusion library.
</p>
<div class="itemizedlist"><ul type="disc">
<li>
Sep 27, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt>
support.
</li>
<li>
Nov 17, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></tt>
support.
</li>
<li>
Feb 15, 2007: Added functional module.
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,73 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Container</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="sequence/operator/comparison/greater_than_equal.html" title="greater
than equal">
<link rel="next" href="container/vector.html" title="vector">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="sequence/operator/comparison/greater_than_equal.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="container/vector.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.container"></a><a href="container.html" title="Container">Container</a></h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="container/vector.html">vector</a></span></dt>
<dt><span class="section"><a href="container/cons.html">cons</a></span></dt>
<dt><span class="section"><a href="container/list.html">list</a></span></dt>
<dt><span class="section"><a href="container/set.html">set</a></span></dt>
<dt><span class="section"><a href="container/map.html">map</a></span></dt>
<dt><span class="section"><a href="container/generation.html">Generation</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/generation/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="container/generation/metafunctions.html">MetaFunctions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/conversion.html">Conversion</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/conversion/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="container/conversion/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
</dl></div>
<p>
Fusion provides a few predefined sequences out of the box. These <span class="emphasis"><em>containers</em></span>
actually hold heterogenously typed data; unlike <a href="view.html" title="View">Views</a>.
These containers are more or less counterparts of those in <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>.
</p>
<a name="fusion.container.header"></a><h3>
<a name="id524649"></a>
<a href="container.html#fusion.container.header">Header</a>
</h3>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="sequence/operator/comparison/greater_than_equal.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="container/vector.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,323 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>cons</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../container.html" title="Container">
<link rel="prev" href="vector.html" title="vector">
<link rel="next" href="list.html" title="list">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="vector.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="list.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.container.cons"></a><a href="cons.html" title="cons">cons</a></h3></div></div></div>
<a name="fusion.container.cons.description"></a><h4>
<a name="id527545"></a>
<a href="cons.html#fusion.container.cons.description">Description</a>
</h4>
<p>
<tt class="computeroutput"><span class="identifier">cons</span></tt> is a simple <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>. It is a lisp style recursive list structure where <tt class="computeroutput"><span class="identifier">car</span></tt> is the <span class="emphasis"><em>head</em></span> and
<tt class="computeroutput"><span class="identifier">cdr</span></tt> is the <span class="emphasis"><em>tail</em></span>:
usually another cons structure or <tt class="computeroutput"><span class="identifier">nil</span></tt>:
the empty list. Fusion's <a href="list.html" title="list"><tt class="computeroutput"><span class="identifier">list</span></tt></a> is built on top of this more
primitive data structure. It is more efficient than <a href="vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a> when the target sequence
is constructed piecemeal (a data at a time). The runtime cost of access to
each element is peculiarly constant (see <a href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive
Inlined Functions</a>).
</p>
<a name="fusion.container.cons.header"></a><h4>
<a name="id527690"></a>
<a href="cons.html#fusion.container.cons.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">list</span><span class="special">/</span><span class="identifier">cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.cons.synopsis"></a><h4>
<a name="id527858"></a>
<a href="cons.html#fusion.container.cons.synopsis">Synopsis</a>
</h4>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Car</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Cdr</span> <span class="special">=</span> <span class="identifier">nil</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">cons</span><span class="special">;</span>
</pre>
<a name="fusion.container.cons.template_parameters"></a><h4>
<a name="id527966"></a>
<a href="cons.html#fusion.container.cons.template_parameters">Template parameters</a>
</h4>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Car</span></tt>
</p>
</td>
<td>
<p>
Head type
</p>
</td>
<td>
<p>
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Cdr</span></tt>
</p>
</td>
<td>
<p>
Tail type
</p>
</td>
<td>
<p>
<tt class="computeroutput"><span class="identifier">nil</span></tt>
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.container.cons.model_of"></a><h4>
<a name="id528116"></a>
<a href="cons.html#fusion.container.cons.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a></li></ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">nil</span></tt></span></dt>
<dd><p>
An empty <tt class="computeroutput"><span class="identifier">cons</span></tt>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">C</span></tt></span></dt>
<dd><p>
A <tt class="computeroutput"><span class="identifier">cons</span></tt> type
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">l</span></tt>,
<tt class="computeroutput"><span class="identifier">l2</span></tt></span></dt>
<dd><p>
Instances of <tt class="computeroutput"><span class="identifier">cons</span></tt>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">car</span></tt></span></dt>
<dd><p>
An arbitrary data
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">cdr</span></tt></span></dt>
<dd><p>
Another <tt class="computeroutput"><span class="identifier">cons</span></tt> list
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
<dd><p>
A <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">N</span></tt></span></dt>
<dd><p>
An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL
Integral Constant</a>
</p></dd>
</dl>
</div>
<a name="fusion.container.cons.expression_semantics"></a><h4>
<a name="id528397"></a>
<a href="cons.html#fusion.container.cons.expression_semantics">Expression Semantics</a>
</h4>
<p>
Semantics of an expression is defined only where it differs from, or is not
defined in <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">nil</span><span class="special">()</span></tt>
</p>
</td>
<td>
<p>
Creates an empty list.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">C</span><span class="special">()</span></tt>
</p>
</td>
<td>
<p>
Creates a cons with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">car</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Creates a cons with <tt class="computeroutput"><span class="identifier">car</span></tt>
head and default constructed tail.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">car</span><span class="special">,</span>
<span class="identifier">cdr</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Creates a cons with <tt class="computeroutput"><span class="identifier">car</span></tt>
head and <tt class="computeroutput"><span class="identifier">cdr</span></tt> tail.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Copy constructs a cons from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">l</span> <span class="special">=</span>
<span class="identifier">s</span></tt>
</p>
</td>
<td>
<p>
Assigns to a cons, <tt class="computeroutput"><span class="identifier">l</span></tt>,
from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
The Nth element from the beginning of the sequence; see <a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a>.
</p>
</td>
</tr>
</tbody>
</table></div>
<div class="sidebar"><p>
<span class="inlinemediaobject"><img src="../../images/note.png" alt="note"></span> <tt class="computeroutput"><a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span></tt> is provided
for convenience and compatibility with the original <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a>
library, despite <tt class="computeroutput"><span class="identifier">cons</span></tt> being
a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
only (<tt class="computeroutput"><span class="identifier">at</span></tt> is supposed to be
a <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> requirement). The runtime complexity of <a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a> is constant (see <a href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive
Inlined Functions</a>).
</p></div>
<a name="fusion.container.cons.example"></a><h4>
<a name="id529048"></a>
<a href="cons.html#fusion.container.cons.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">cons</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">cons</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">l</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="identifier">cons</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="number">5.5f</span><span class="special">));</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="vector.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="list.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,57 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Conversion</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../container.html" title="Container">
<link rel="prev" href="generation/metafunctions/map_tie.html" title="map_tie">
<link rel="next" href="conversion/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="generation/metafunctions/map_tie.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="conversion/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.container.conversion"></a><a href="conversion.html" title="Conversion">Conversion</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="conversion/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="conversion/metafunctions.html">Metafunctions</a></span></dt>
</dl></div>
<p>
All fusion sequences can be converted to one of the <a href="../container.html" title="Container">Container</a>
types using one of these conversion functions.
</p>
<a name="fusion.container.conversion.header"></a><h4>
<a name="id553528"></a>
<a href="conversion.html#fusion.container.conversion.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="generation/metafunctions/map_tie.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="conversion/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,48 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../conversion.html" title="Conversion">
<link rel="prev" href="../conversion.html" title="Conversion">
<link rel="next" href="functions/as_list.html" title="as_list">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../conversion.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../conversion.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/as_list.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.container.conversion.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="functions/as_list.html">as_list</a></span></dt>
<dt><span class="section"><a href="functions/as_vector.html">as_vector</a></span></dt>
<dt><span class="section"><a href="functions/as_set.html">as_set</a></span></dt>
<dt><span class="section"><a href="functions/as_map.html">as_map</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../conversion.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../conversion.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functions/as_list.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,137 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>as_list</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="as_vector.html" title="as_vector">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="as_vector.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.container.conversion.functions.as_list"></a><a href="as_list.html" title="as_list">as_list</a></h5></div></div></div>
<a name="fusion.container.conversion.functions.as_list.description"></a><h6>
<a name="id553663"></a>
<a href="as_list.html#fusion.container.conversion.functions.as_list.description">Description</a>
</h6>
<p>
Convert a fusion sequence to a <a href="../../list.html" title="list"><tt class="computeroutput"><span class="identifier">list</span></tt></a>.
</p>
<a name="fusion.container.conversion.functions.as_list.synopsis"></a><h6>
<a name="id553712"></a>
<a href="as_list.html#fusion.container.conversion.functions.as_list.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">as_list</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">as_list</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<a name="fusion.container.conversion.functions.as_list.parameters"></a><h6>
<a name="id553970"></a>
<a href="as_list.html#fusion.container.conversion.functions.as_list.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
An instance of Sequence
</p>
</td>
<td>
<p>
The sequence to convert.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.conversion.functions.as_list.expression_semantics"></a><h6>
<a name="id554078"></a>
<a href="as_list.html#fusion.container.conversion.functions.as_list.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">as_list</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <a href="../metafunctions/as_list.html" title="as_list"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span></tt></a><tt class="computeroutput"><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Convert a fusion sequence,
<tt class="computeroutput"><span class="identifier">seq</span></tt>, to a <a href="../../list.html" title="list"><tt class="computeroutput"><span class="identifier">list</span></tt></a>.
</p>
<a name="fusion.container.conversion.functions.as_list.header"></a><h6>
<a name="id554240"></a>
<a href="as_list.html#fusion.container.conversion.functions.as_list.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">list</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">as_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.conversion.functions.as_list.example"></a><h6>
<a name="id554410"></a>
<a href="as_list.html#fusion.container.conversion.functions.as_list.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">as_list</span><span class="special">(</span><a href="../../generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="char">'x'</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">))</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="as_vector.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,144 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>as_map</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="as_set.html" title="as_set">
<link rel="next" href="../metafunctions.html" title="Metafunctions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="as_set.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.container.conversion.functions.as_map"></a><a href="as_map.html" title="as_map">as_map</a></h5></div></div></div>
<a name="fusion.container.conversion.functions.as_map.description"></a><h6>
<a name="id556270"></a>
<a href="as_map.html#fusion.container.conversion.functions.as_map.description">Description</a>
</h6>
<p>
Convert a fusion sequence to a <a href="../../map.html" title="map"><tt class="computeroutput"><span class="identifier">map</span></tt></a>.
</p>
<a name="fusion.container.conversion.functions.as_map.synopsis"></a><h6>
<a name="id556318"></a>
<a href="as_map.html#fusion.container.conversion.functions.as_map.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">as_map</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">as_map</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<a name="fusion.container.conversion.functions.as_map.parameters"></a><h6>
<a name="id556576"></a>
<a href="as_map.html#fusion.container.conversion.functions.as_map.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
An instance of Sequence
</p>
</td>
<td>
<p>
The sequence to convert.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.conversion.functions.as_map.expression_semantics"></a><h6>
<a name="id556684"></a>
<a href="as_map.html#fusion.container.conversion.functions.as_map.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">as_map</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <a href="../metafunctions/as_map.html" title="as_map"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span></tt></a><tt class="computeroutput"><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Convert a fusion sequence,
<tt class="computeroutput"><span class="identifier">seq</span></tt>, to a <a href="../../map.html" title="map"><tt class="computeroutput"><span class="identifier">map</span></tt></a>.
</p>
<p>
<span class="bold"><b>Precondition</b></span>: The elements of the sequence
are assumed to be __fusion<span class="underline">pair</span>_s.
There may be no duplicate <a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></tt></a> key types.
</p>
<a name="fusion.container.conversion.functions.as_map.header"></a><h6>
<a name="id556891"></a>
<a href="as_map.html#fusion.container.conversion.functions.as_map.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">map</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">as_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.conversion.functions.as_map.example"></a><h6>
<a name="id557060"></a>
<a href="as_map.html#fusion.container.conversion.functions.as_map.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">as_map</span><span class="special">(</span><a href="../../generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span>
<a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">make_pair</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="char">'X'</span><span class="special">)</span>
<span class="special">,</span> <a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">make_pair</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="string">"Men"</span><span class="special">)))</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="as_set.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,141 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>as_set</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="as_vector.html" title="as_vector">
<link rel="next" href="as_map.html" title="as_map">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="as_vector.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="as_map.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.container.conversion.functions.as_set"></a><a href="as_set.html" title="as_set">as_set</a></h5></div></div></div>
<a name="fusion.container.conversion.functions.as_set.description"></a><h6>
<a name="id555396"></a>
<a href="as_set.html#fusion.container.conversion.functions.as_set.description">Description</a>
</h6>
<p>
Convert a fusion sequence to a <a href="../../set.html" title="set"><tt class="computeroutput"><span class="identifier">set</span></tt></a>.
</p>
<a name="fusion.container.conversion.functions.as_set.synopsis"></a><h6>
<a name="id555444"></a>
<a href="as_set.html#fusion.container.conversion.functions.as_set.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_set</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">as_set</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_set</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">as_set</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<a name="fusion.container.conversion.functions.as_set.parameters"></a><h6>
<a name="id555702"></a>
<a href="as_set.html#fusion.container.conversion.functions.as_set.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
An instance of Sequence
</p>
</td>
<td>
<p>
The sequence to convert.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.conversion.functions.as_set.expression_semantics"></a><h6>
<a name="id555809"></a>
<a href="as_set.html#fusion.container.conversion.functions.as_set.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">as_set</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <a href="../metafunctions/as_set.html" title="as_set"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_set</span></tt></a><tt class="computeroutput"><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Convert a fusion sequence,
<tt class="computeroutput"><span class="identifier">seq</span></tt>, to a <a href="../../set.html" title="set"><tt class="computeroutput"><span class="identifier">set</span></tt></a>.
</p>
<p>
<span class="bold"><b>Precondition</b></span>: There may be no duplicate
key types.
</p>
<a name="fusion.container.conversion.functions.as_set.header"></a><h6>
<a name="id555982"></a>
<a href="as_set.html#fusion.container.conversion.functions.as_set.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">set</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">as_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.conversion.functions.as_set.example"></a><h6>
<a name="id556151"></a>
<a href="as_set.html#fusion.container.conversion.functions.as_set.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">as_set</span><span class="special">(</span><a href="../../generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="char">'x'</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">))</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="as_vector.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="as_map.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,137 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>as_vector</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="as_list.html" title="as_list">
<link rel="next" href="as_set.html" title="as_set">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="as_list.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="as_set.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.container.conversion.functions.as_vector"></a><a href="as_vector.html" title="as_vector">as_vector</a></h5></div></div></div>
<a name="fusion.container.conversion.functions.as_vector.description"></a><h6>
<a name="id554529"></a>
<a href="as_vector.html#fusion.container.conversion.functions.as_vector.description">Description</a>
</h6>
<p>
Convert a fusion sequence to a <a href="../../vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a>.
</p>
<a name="fusion.container.conversion.functions.as_vector.synopsis"></a><h6>
<a name="id554577"></a>
<a href="as_vector.html#fusion.container.conversion.functions.as_vector.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_vector</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">as_vector</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_vector</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">as_vector</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<a name="fusion.container.conversion.functions.as_vector.parameters"></a><h6>
<a name="id554836"></a>
<a href="as_vector.html#fusion.container.conversion.functions.as_vector.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
An instance of Sequence
</p>
</td>
<td>
<p>
The sequence to convert.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.conversion.functions.as_vector.expression_semantics"></a><h6>
<a name="id554944"></a>
<a href="as_vector.html#fusion.container.conversion.functions.as_vector.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">as_vector</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <a href="../metafunctions/as_vector.html" title="as_vector"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_vector</span></tt></a><tt class="computeroutput"><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Convert a fusion sequence,
<tt class="computeroutput"><span class="identifier">seq</span></tt>, to a <a href="../../vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a>.
</p>
<a name="fusion.container.conversion.functions.as_vector.header"></a><h6>
<a name="id555107"></a>
<a href="as_vector.html#fusion.container.conversion.functions.as_vector.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">vector</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">as_vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.conversion.functions.as_vector.example"></a><h6>
<a name="id555277"></a>
<a href="as_vector.html#fusion.container.conversion.functions.as_vector.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">as_vector</span><span class="special">(</span><a href="../../generation/functions/make_list.html" title="make_list"><tt class="computeroutput"><span class="identifier">make_list</span></tt></a><span class="special">(</span><span class="char">'x'</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">))</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="as_list.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="as_set.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,48 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../conversion.html" title="Conversion">
<link rel="prev" href="functions/as_map.html" title="as_map">
<link rel="next" href="metafunctions/as_list.html" title="as_list">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/as_map.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../conversion.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/as_list.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.container.conversion.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/as_list.html">as_list</a></span></dt>
<dt><span class="section"><a href="metafunctions/as_vector.html">as_vector</a></span></dt>
<dt><span class="section"><a href="metafunctions/as_set.html">as_set</a></span></dt>
<dt><span class="section"><a href="metafunctions/as_map.html">as_map</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/as_map.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../conversion.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/as_list.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,133 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>as_list</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
<link rel="next" href="as_vector.html" title="as_vector">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="as_vector.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.container.conversion.metafunctions.as_list"></a><a href="as_list.html" title="as_list">as_list</a></h5></div></div></div>
<a name="fusion.container.conversion.metafunctions.as_list.description"></a><h6>
<a name="id557255"></a>
<a href="as_list.html#fusion.container.conversion.metafunctions.as_list.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/as_list.html" title="as_list"><tt class="computeroutput"><span class="identifier">as_list</span></tt></a>.
</p>
<a name="fusion.container.conversion.metafunctions.as_list.synopsis"></a><h6>
<a name="id557304"></a>
<a href="as_list.html#fusion.container.conversion.metafunctions.as_list.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">as_list</span><span class="special">;</span>
</pre>
<a name="fusion.container.conversion.metafunctions.as_list.parameters"></a><h6>
<a name="id557386"></a>
<a href="as_list.html#fusion.container.conversion.metafunctions.as_list.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A fusion <a href="../../../sequence.html" title="Sequence">Sequence</a>
</p>
</td>
<td>
<p>
The sequence type to convert.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.conversion.metafunctions.as_list.expression_semantics"></a><h6>
<a name="id557502"></a>
<a href="as_list.html#fusion.container.conversion.metafunctions.as_list.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">;</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A <a href="../../list.html" title="list"><tt class="computeroutput"><span class="identifier">list</span></tt></a> with same elements as the
input sequence, <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Convert a fusion sequence,
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>, to a <a href="../../list.html" title="list"><tt class="computeroutput"><span class="identifier">list</span></tt></a>.
</p>
<a name="fusion.container.conversion.metafunctions.as_list.header"></a><h6>
<a name="id557660"></a>
<a href="as_list.html#fusion.container.conversion.metafunctions.as_list.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">list</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">as_list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.conversion.metafunctions.as_list.example"></a><h6>
<a name="id557829"></a>
<a href="as_list.html#fusion.container.conversion.metafunctions.as_list.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_list</span><span class="special">&lt;</span><a href="../../vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="as_vector.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,140 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>as_map</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="as_set.html" title="as_set">
<link rel="next" href="../../../view.html" title="View">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="as_set.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../view.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.container.conversion.metafunctions.as_map"></a><a href="as_map.html" title="as_map">as_map</a></h5></div></div></div>
<a name="fusion.container.conversion.metafunctions.as_map.description"></a><h6>
<a name="id559377"></a>
<a href="as_map.html#fusion.container.conversion.metafunctions.as_map.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/as_map.html" title="as_map"><tt class="computeroutput"><span class="identifier">as_map</span></tt></a>.
</p>
<a name="fusion.container.conversion.metafunctions.as_map.synopsis"></a><h6>
<a name="id559427"></a>
<a href="as_map.html#fusion.container.conversion.metafunctions.as_map.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">as_map</span><span class="special">;</span>
</pre>
<a name="fusion.container.conversion.metafunctions.as_map.parameters"></a><h6>
<a name="id559508"></a>
<a href="as_map.html#fusion.container.conversion.metafunctions.as_map.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A fusion <a href="../../../sequence.html" title="Sequence">Sequence</a>
</p>
</td>
<td>
<p>
The sequence to convert.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.conversion.metafunctions.as_map.expression_semantics"></a><h6>
<a name="id559624"></a>
<a href="as_map.html#fusion.container.conversion.metafunctions.as_map.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">;</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A <a href="../../map.html" title="map"><tt class="computeroutput"><span class="identifier">map</span></tt></a> with same elements as the
input sequence, <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Convert a fusion sequence,
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>, to a <a href="../../map.html" title="map"><tt class="computeroutput"><span class="identifier">map</span></tt></a>.
</p>
<p>
<span class="bold"><b>Precondition</b></span>: The elements of the sequence
are assumed to be __fusion<span class="underline">pair</span>_s.
There may be no duplicate <a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></tt></a> key types.
</p>
<a name="fusion.container.conversion.metafunctions.as_map.header"></a><h6>
<a name="id559826"></a>
<a href="as_map.html#fusion.container.conversion.metafunctions.as_map.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">map</span><span class="special">/</span><span class="identifier">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">as_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.conversion.metafunctions.as_map.example"></a><h6>
<a name="id559996"></a>
<a href="as_map.html#fusion.container.conversion.metafunctions.as_map.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">as_map</span><span class="special">&lt;</span><a href="../../vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span>
<a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span>
<span class="special">,</span> <a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p></small></div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="as_set.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../view.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

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