forked from boostorg/fusion
Compare commits
1337 Commits
svn-branch
...
develop
Author | SHA1 | Date | |
---|---|---|---|
7d4c03fa03 | |||
5d19cc2d57 | |||
049303436c | |||
8c32ebea0b | |||
3044c2beaf | |||
d6298309fb | |||
0a2da9d0ac | |||
036b90cd5d | |||
cd2d748648 | |||
05c2c97ea0 | |||
6ee2b188ef | |||
03500e4fd3 | |||
3c82db82df | |||
287ca90947 | |||
a884709253 | |||
8d8db27953 | |||
72c5c094b9 | |||
b13fc27cf2 | |||
efe3d59c73 | |||
622e048cf2 | |||
2a9a44ee7c | |||
aca00012d1 | |||
c4e7f2bb1a | |||
3a98d9dbeb | |||
116768f3b2 | |||
df37668501 | |||
2a70da0170 | |||
60408efa18 | |||
d49b59bdf9 | |||
e15016adb6 | |||
24138813d6 | |||
0c6c0b17e5 | |||
95b6ebdc61 | |||
dd3bf8aa3e | |||
3f6f947233 | |||
6191e9763a | |||
14c22945cc | |||
a19d919f7b | |||
9a65c81640 | |||
1c858a5fdc | |||
3c749cbf49 | |||
4c4d2ad66c | |||
63727a3f16 | |||
bbddc4f10a | |||
22be72a3c5 | |||
9a2f490130 | |||
90721d48e9 | |||
427d46e7dc | |||
195a0521eb | |||
d2f9a048f7 | |||
1a9faa6744 | |||
1a16250b06 | |||
cdf26a72e9 | |||
2a295202f7 | |||
afba308e47 | |||
662567cb9f | |||
d9c89fc17c | |||
c59c1790c3 | |||
11abd9b156 | |||
62b45086c0 | |||
596056930a | |||
41aae2c684 | |||
41fe9ba9b5 | |||
2aed5b1ab5 | |||
360dd957f2 | |||
cc865135c9 | |||
c16e4f046b | |||
58e72e74a6 | |||
638855c861 | |||
cf99c66176 | |||
516a7a7add | |||
41b38d4adc | |||
fa5f1b7741 | |||
d8e3cc29da | |||
af411a959c | |||
51629ef53a | |||
e79a8690f0 | |||
8f49ff2006 | |||
ba320bf395 | |||
7fe4a887ae | |||
6539567952 | |||
6b2a3b96ac | |||
499c66537b | |||
37ed70fc43 | |||
5d78322e16 | |||
283d1a62c4 | |||
2dceadd1f0 | |||
6da4ec1ae5 | |||
8e58e09ba7 | |||
45054c239b | |||
145b54d060 | |||
d77dc74c7f | |||
b50f10d1dd | |||
23e78a5974 | |||
d22982e3a9 | |||
1c5d3ac6f6 | |||
13593be807 | |||
21a449ae46 | |||
d26c2e4212 | |||
b0f60d5933 | |||
eed79cb557 | |||
438d4d1874 | |||
9c1105ca00 | |||
37f64aa622 | |||
9be3b29738 | |||
a57683a68d | |||
e3429dac26 | |||
aa5ea2af69 | |||
2bb8a26c5b | |||
95cf8bdb8d | |||
380a2bc7a0 | |||
f07cca743f | |||
5db3ed8134 | |||
8ea7f31294 | |||
10f44ff5a0 | |||
12c5097cf7 | |||
ccdcdd5610 | |||
25f12dedc8 | |||
c199f5c6fa | |||
de61a00d62 | |||
3e20342084 | |||
500e4c120f | |||
b0f80684fd | |||
38060fab3a | |||
198458a9f2 | |||
4a699a39f5 | |||
b93b4c9a86 | |||
5a9bfa3d7d | |||
c46e492d45 | |||
4979945690 | |||
9dca58bd33 | |||
c3af48d345 | |||
70c38c7bf7 | |||
edddad2b4e | |||
b3c212c47f | |||
4778c4c180 | |||
5f30a8da60 | |||
fc32335387 | |||
b5751ae85d | |||
e5a007579f | |||
3e07b3f66b | |||
08076be2ac | |||
4c51811315 | |||
19d6c7ad3b | |||
1c693f05bf | |||
b180146e3d | |||
68affa1706 | |||
f0089a640e | |||
81a1c2c99a | |||
7b55860d78 | |||
70837a30c5 | |||
2e91d0b78e | |||
e375a4541b | |||
908a34a4ed | |||
62137c0ab7 | |||
753db26073 | |||
309a2d623f | |||
b5ba6cbd2b | |||
2160949150 | |||
6208b083fb | |||
95beeba19c | |||
efe9065b8c | |||
26e8b5e459 | |||
d1da8ee746 | |||
a26dcf59ce | |||
6b5c5be9be | |||
8c36079edb | |||
9db262acf5 | |||
a3abadb884 | |||
3cfbd9826d | |||
c1fea895c2 | |||
6a3ddd1458 | |||
b1f20628bb | |||
b0f0882229 | |||
b8fafe04d9 | |||
95b4500898 | |||
b02cb70760 | |||
77ebd568e1 | |||
e29b1a07f3 | |||
f03bb5ec2e | |||
cc0c684a92 | |||
c740a4dbad | |||
48f8af3e73 | |||
cc3fbc4f5d | |||
bd96a6bcfb | |||
2a95fcc3e9 | |||
47ff2e6cb5 | |||
9036c72a61 | |||
06a2f0560f | |||
c76cd3d6b2 | |||
77959b1d33 | |||
c6448b9e45 | |||
561890429b | |||
23c54602c2 | |||
30c044b03a | |||
a71b9607e1 | |||
102588ae46 | |||
0e4c5127f5 | |||
afb8b150a9 | |||
d832387fdb | |||
0c138de7cb | |||
98b96c3b97 | |||
68be23a0b9 | |||
6f8de8d774 | |||
5221bbbc76 | |||
0e900bba3f | |||
38aa3705d0 | |||
1854626651 | |||
e8da43a539 | |||
3b8fb67b52 | |||
c4881f1862 | |||
e818089a91 | |||
a95a838779 | |||
7443cb1101 | |||
84b1847442 | |||
a273cd8131 | |||
757541f9d2 | |||
dd695c1dbd | |||
96b2e51828 | |||
e962c1abb5 | |||
7899658d8e | |||
e3b053f969 | |||
11a3f250b8 | |||
79262831ef | |||
d8f608c8f1 | |||
2aea153be0 | |||
4734cf4a13 | |||
d5bd71c886 | |||
c3dec40e72 | |||
03ac9086bc | |||
9de3272174 | |||
25c6334c58 | |||
101a056a92 | |||
82f677c169 | |||
479bc3133b | |||
f61bffb21f | |||
4c67886cc2 | |||
38818fbe3d | |||
eeeee9bfbb | |||
eb0cbbc347 | |||
d0c17119e7 | |||
28ea5dacce | |||
6c96720080 | |||
0a8f0f49b2 | |||
cdd1408d2b | |||
540ea0ef0c | |||
671f22b013 | |||
dfceaffc58 | |||
2c86e9d18c | |||
d8e6f406ab | |||
b42314fb02 | |||
806b621931 | |||
39fb05e40f | |||
dc47261890 | |||
099333b61d | |||
71ad390cf0 | |||
821aaee960 | |||
b12c6b6af6 | |||
4eda545405 | |||
5fd8c36079 | |||
e6b5879511 | |||
33ce5701ae | |||
3cd289836d | |||
ffff00b1a2 | |||
c19cd1b0b7 | |||
3452deb057 | |||
0876b9558d | |||
580364a19e | |||
d6921c112a | |||
254d570b3d | |||
5c78fea465 | |||
da4abd0dce | |||
1faac814e3 | |||
3085f76d31 | |||
e18aa85602 | |||
320386dcf1 | |||
cbda55b962 | |||
e992658ce3 | |||
99699ede5d | |||
8243b3088b | |||
3e7d928ddd | |||
26f69719d0 | |||
0e0de6c4f1 | |||
984fcfd276 | |||
62f5ccac53 | |||
cf33f3db4e | |||
dfe08dec2c | |||
7ec3f1a68f | |||
42a01fc3f4 | |||
0d37235d1c | |||
e97f58749f | |||
80a86fbcd4 | |||
6bef7c98b2 | |||
e4b1233262 | |||
38535926bd | |||
1bce525b30 | |||
e606ceeff0 | |||
24d1c7fd1a | |||
e5d073d786 | |||
6a9b7f314d | |||
0471a65ca2 | |||
b6e5285430 | |||
9cb23af898 | |||
437cea006a | |||
7c15df79f2 | |||
503a89dc89 | |||
b24dfd635b | |||
84d8afbb31 | |||
36eac2e77c | |||
bb782de1ff | |||
451e21adb3 | |||
e0ceefafb6 | |||
2952fd254f | |||
1ec001888d | |||
98b81ee102 | |||
f1a619428a | |||
715a7fb729 | |||
fcdcfcd2c5 | |||
6f43cd7f66 | |||
c630611626 | |||
0d8243b36d | |||
ea9a176312 | |||
1747703b1a | |||
c158886591 | |||
5135b5109b | |||
490baac6e2 | |||
6bd644d43d | |||
64af83d999 | |||
e74ccb1cf5 | |||
7b13053c7e | |||
ef2dc2aaae | |||
ef1ca12e81 | |||
a2b8a8f254 | |||
16a069be14 | |||
3b96c3b70b | |||
61fab16418 | |||
928ced256a | |||
599b8d4aef | |||
1a2a8d67aa | |||
d5740f8310 | |||
5906d9c316 | |||
45d9b49ee5 | |||
55150a7fa6 | |||
27321dd18e | |||
79d8e9d11c | |||
904d3c2c01 | |||
7e4ab4f804 | |||
3189580857 | |||
71dcb3e02c | |||
82f24e0f73 | |||
f29e1e8209 | |||
12b25c2c99 | |||
bc6eaf7ab0 | |||
275236f86e | |||
a8b70d6679 | |||
7472e70951 | |||
104f508cef | |||
0263c75cd8 | |||
f7b90f2981 | |||
d314798241 | |||
5ed26ec932 | |||
4ebc028769 | |||
99ad77b92f | |||
e3d16edfb3 | |||
4173b4b97b | |||
9b43ac8ee0 | |||
c9c2c3bad6 | |||
d7d47619b4 | |||
100d223be4 | |||
44c21e0f10 | |||
3125c15ff4 | |||
11cc331f82 | |||
d1cd721969 | |||
2e466ac054 | |||
b88daeb697 | |||
1774972237 | |||
b46aad996a | |||
0526f7c04f | |||
53ba3de15a | |||
64b8406c16 | |||
2492ff9b25 | |||
3919f3ed73 | |||
12792a6c11 | |||
e9d489c07c | |||
8767d374ea | |||
ee718b363f | |||
87fffbead3 | |||
1c05cfc795 | |||
7cf404d096 | |||
0c18e85ecd | |||
bb8b5afc7f | |||
3298875ecc | |||
74c0d5d0ec | |||
e7ec658b62 | |||
4d3891ed31 | |||
1bc343660b | |||
981f71d04f | |||
d6c853f7ad | |||
f88dbb6876 | |||
4d5da0371b | |||
76f49608c7 | |||
73045b4d49 | |||
18742c6922 | |||
277e5ca034 | |||
1ad2e59e07 | |||
2c5c74069f | |||
a81024f617 | |||
c537da605b | |||
1d45a87201 | |||
ce4ccb929c | |||
5114d9419e | |||
ca0d92e68d | |||
c750552a02 | |||
a61285a0a1 | |||
999dad386e | |||
d512378f4e | |||
ef39bc8651 | |||
d2f8ee9f32 | |||
cbd2e1dc1d | |||
a6d1b303b3 | |||
76b7697ba5 | |||
1df7fc1dca | |||
9b77c26a24 | |||
59dfeec815 | |||
4855d1fac1 | |||
d3449ab5e5 | |||
c30fabf98f | |||
de3730c325 | |||
efd595fd10 | |||
e61d08d953 | |||
10d9f0ffba | |||
d9e5a620be | |||
c5ba3af4c0 | |||
22994d7e96 | |||
dc55e5e103 | |||
1bde5c6fa3 | |||
8242c688e7 | |||
24f527d401 | |||
6689de502b | |||
1646a7252b | |||
8761ed1b8d | |||
e37fd170ce | |||
74f0758bca | |||
dae9964b15 | |||
b1bb9921e2 | |||
4fa0a5f550 | |||
ed30a7ca6a | |||
e0debe282c | |||
7fdb3201fa | |||
8eee897e3f | |||
daea1c3142 | |||
2f6e162a7e | |||
bc01b7fa24 | |||
00823cc315 | |||
fc92ba530d | |||
c0fcaae951 | |||
298eeef9c9 | |||
62d9833bbf | |||
b4133761e8 | |||
7739e4026d | |||
f9fda7ce06 | |||
1f8ccd7bc3 | |||
969b475462 | |||
c77f84749f | |||
d937003962 | |||
6fe816fe89 | |||
d29dc277e6 | |||
d5ce74dffd | |||
a31009e73c | |||
8aa35da4c4 | |||
1e21a4eb7a | |||
5cceded23b | |||
78c5228d93 | |||
0e8e857c2f | |||
d197380540 | |||
3d0412bfd1 | |||
275f65f9ad | |||
9c7b7754fb | |||
2b14951660 | |||
973f2d3940 | |||
60cf66ad89 | |||
fb2e4c502f | |||
fffbbdebdf | |||
ddcd3cdf93 | |||
6df8d5a599 | |||
78afb4d3fc | |||
94f3b2a08b | |||
3521ea3417 | |||
ff25066be2 | |||
e0f10734b1 | |||
22268eb083 | |||
869513768d | |||
65fae37660 | |||
cac994a7c6 | |||
14228e9250 | |||
9911e05838 | |||
f22f1624b5 | |||
8b1da45bfe | |||
3b86f61f15 | |||
2445f60981 | |||
6f8c02eb6f | |||
3c34d639df | |||
b10d91ac82 | |||
b902afa5a0 | |||
528e6d16f0 | |||
2153df596b | |||
ce62bb49f3 | |||
265de03026 | |||
83fb0ef7a2 | |||
294a5ce644 | |||
bbdfc9972e | |||
91966ae524 | |||
94f53a8d4c | |||
0fcd2aa328 | |||
83a08934c8 | |||
ccb1aa20d9 | |||
6e569bcdc3 | |||
de50f65380 | |||
639cf2459d | |||
1ba1ac3ec8 | |||
0bbea1ea32 | |||
b56eb59595 | |||
01a2d6557e | |||
91cac41ada | |||
67f0863cdd | |||
2204f025d3 | |||
e881ea67cb | |||
84789ec1c3 | |||
8c72a0012f | |||
4b5eb0cde8 | |||
d8bca006ff | |||
0954000314 | |||
2b072973e0 | |||
2c5b52f3bd | |||
f45c94fa43 | |||
2114bfca6c | |||
3e66a56b9f | |||
d03f79b6fd | |||
52eb8768f2 | |||
197792ac53 | |||
06428298bb | |||
960ccf5d2c | |||
bd4b1cdac6 | |||
e23d153734 | |||
d9337979b1 | |||
92726da079 | |||
505d41ea67 | |||
02d15bfcb4 | |||
fb0f22a296 | |||
c5c0147d7d | |||
6ab68a29d8 | |||
aa1448b77a | |||
73a5dde412 | |||
b60219eb8a | |||
c6c9d872d3 | |||
fc1a60e8e6 | |||
de43345b34 | |||
382c1e5645 | |||
588896de45 | |||
70d5b40a7c | |||
e4d43b00c1 | |||
995202044c | |||
b3c560d3b6 | |||
3955f76511 | |||
98247fb97f | |||
5e4978b870 | |||
326104a9b7 | |||
ce8bf1079a | |||
28598a7919 | |||
0360dc44b2 | |||
fbd6a8a50f | |||
e572c382f7 | |||
205c0f1eb4 | |||
d7c918e36f | |||
f872d1326a | |||
54dedc5e98 | |||
af1bc25783 | |||
7d641cbc8f | |||
f349d48a3f | |||
97c863eaa0 | |||
85ce2a3eb2 | |||
a2269f447e | |||
51d638f51c | |||
5eb36f590a | |||
b7febc887a | |||
45aa4ccf95 | |||
24e95c34fb | |||
223c7d520f | |||
ed9880c161 | |||
d05b854c58 | |||
d185bd5df6 | |||
aa4d67258b | |||
147c76573e | |||
fbbfc16d2d | |||
9ab7774fd7 | |||
687668c110 | |||
2093bf82db | |||
4dd4773d3d | |||
08a6ea79b3 | |||
9075da0790 | |||
f68b7b1f5a | |||
2a50f7caad | |||
c952a5c053 | |||
bc07cac46c | |||
b5018586aa | |||
c65000eac8 | |||
d10f40c489 | |||
18fa262a4e | |||
c9ae4fc886 | |||
0f34b3a692 | |||
68b4683e95 | |||
63045e8611 | |||
f3fa7a1dc6 | |||
cc9b043168 | |||
a4660f41af | |||
6da646631c | |||
0ed591d214 | |||
15dd9c9d97 | |||
1dccb553ea | |||
a2e32493bb | |||
3280267ed4 | |||
b7f95ee853 | |||
dec799caa8 | |||
d93e675408 | |||
06cac9da1a | |||
465c3f273b | |||
6314f1a450 | |||
916df63a14 | |||
b637f2569b | |||
95d2a111ab | |||
ff56beaf55 | |||
5dc9f457a0 | |||
5ff35b6540 | |||
a62956bb12 | |||
bd5ce92e10 | |||
834250a4c8 | |||
a87a665072 | |||
7a7b225fb1 | |||
5f416e24fc | |||
a7e9bb2df4 | |||
20ee8d192a | |||
bf10307430 | |||
4835310623 | |||
ba0e753cff | |||
b7f0f8856c | |||
416cd2e2d9 | |||
f3921fee95 | |||
ec3cefd86f | |||
0a13aa5ee4 | |||
7ef4b03249 | |||
f716d2f410 | |||
1b4acaa1b0 | |||
4c110d9a88 | |||
f73b5362c5 | |||
df7b766247 | |||
3b3da1a10a | |||
6b6d613e15 | |||
c10b94472d | |||
101d9d5505 | |||
0ffc0f04e3 | |||
c6cb25846c | |||
8dc502d33a | |||
179e36fa42 | |||
90206f5da9 | |||
ae23ffb8b6 | |||
5ae01ad6a9 | |||
d5eb1e793c | |||
3933df13fb | |||
cdfb1a46b3 | |||
2f850604e8 | |||
c704efb49c | |||
06a46de636 | |||
3192da28e6 | |||
e50f5852e4 | |||
98b71154ec | |||
e014a1d173 | |||
812e9e379e | |||
ba723a2cad | |||
020b22f9b9 | |||
3a28c3fd81 | |||
cfcdbe1195 | |||
03ba146d84 | |||
acf25e3986 | |||
c921b9ca99 | |||
6cad6bef99 | |||
3d19bf9d96 | |||
bebd553dd6 | |||
fdb6598194 | |||
badf3f2a47 | |||
bcc2530f19 | |||
ec9530eb15 | |||
6adde75b54 | |||
73f058b381 | |||
1b2e62f4b9 | |||
2b5da49628 | |||
cd0d3ce09a | |||
644d72ccfe | |||
103b02fda2 | |||
d0b3d163c5 | |||
561b762f57 | |||
b8c65b976c | |||
790810757a | |||
c8ffc6498b | |||
0f2f1776be | |||
f869aa1591 | |||
aa7b0a6972 | |||
69e67cd1ad | |||
f0bc2a2ac1 | |||
727f49b49e | |||
0eedba5796 | |||
0873af5d3c | |||
5102d6874f | |||
b6c2e9e10b | |||
7b089aa589 | |||
52d280983b | |||
fe3682ac02 | |||
c8e4172021 | |||
64c3fc568c | |||
c2abefbab8 | |||
904ec1e676 | |||
0715e996e2 | |||
047b052548 | |||
4f941d9760 | |||
fcb579f208 | |||
a54c543dd7 | |||
4b0bed40f7 | |||
a13d1346f6 | |||
d71cf19e0f | |||
70410d1e07 | |||
f7685b1194 | |||
a5d6fd0800 | |||
5422ba7f8f | |||
17e49ba448 | |||
1ab5eef418 | |||
34fac0c449 | |||
bf66c12cde | |||
dd0cee1721 | |||
abff92ab65 | |||
f64c396c66 | |||
c008b0dc3a | |||
f022949764 | |||
ae0c976926 | |||
af812e6207 | |||
f0eab528e9 | |||
9a501785e6 | |||
0e50a02fbc | |||
2e60ba6f29 | |||
4cf96e14f3 | |||
0000ca263b | |||
6483cf4058 | |||
04ce8a788b | |||
ce3f2d6020 | |||
687b2cf097 | |||
c851252f65 | |||
557b3d2dc6 | |||
7ef202b794 | |||
02b776360a | |||
37fc1443ad | |||
944c363787 | |||
6f6bfb3a27 | |||
04cbf0d4c6 | |||
703bff4ff9 | |||
7e1c6cdf47 | |||
3ca94f5762 | |||
c052b4b452 | |||
166132789a | |||
435fb5c29f | |||
934463c7b4 | |||
a5f87696f2 | |||
2d37b9c22c | |||
f7b14aee35 | |||
8a132ea44a | |||
5ffab5001e | |||
e58bd91f27 | |||
5aa9a89fb8 | |||
0d7ad9f6e2 | |||
946957d3dc | |||
3f965e00d3 | |||
10d363837a | |||
25bb75e3f8 | |||
2cc2729f51 | |||
059c041659 | |||
f7adae2b3d | |||
f5fe438f14 | |||
38bcd6e779 | |||
219b4124d7 | |||
39785ddb0e | |||
a0c1ec2018 | |||
1fde7cc293 | |||
74a5d8804c | |||
8e4dd16b2d | |||
d2633616dc | |||
01ed85e0e5 | |||
6c904779af | |||
41e18be5cf | |||
fd3a18ce1a | |||
21a2621cce | |||
efad85a925 | |||
ad90e29cd6 | |||
72912925cb | |||
da294ebc6d | |||
beba23f36c | |||
a2874ea5fe | |||
a9ed19e3b8 | |||
26b28eff93 | |||
e113b31fdd | |||
44d5dca98b | |||
c04e912866 | |||
125a8b5957 | |||
e5b0f3c2e1 | |||
4b139914b1 | |||
c4f9f0d1b6 | |||
aa78028662 | |||
ec5f8dc5ec | |||
867c7e5dfb | |||
e1dc534877 | |||
14580550cf | |||
f2e7a184a0 | |||
93447d3382 | |||
266a7622ba | |||
de18e59c85 | |||
94618528b6 | |||
a9335aa664 | |||
8aef19648b | |||
1f718e4520 | |||
66ddb762d3 | |||
e12f59ebf2 | |||
0e24ec0a85 | |||
31b1ee7f73 | |||
53a1a74a10 | |||
1e2841c683 | |||
17928ac385 | |||
789b86fd6c | |||
abb15d1158 | |||
cccbc785d6 | |||
6849e31db0 | |||
6c130b9e44 | |||
a49eb03483 | |||
93a1fc3b87 | |||
3b24ed44f8 | |||
7922147716 | |||
13d00bd6c2 | |||
56d0d48eb9 | |||
e83960d3e9 | |||
92ee36a556 | |||
52298c686e | |||
80b4ce43c5 | |||
b36426c8e3 | |||
d354c5183b | |||
fb3bd4cea8 | |||
9672fe5385 | |||
085c3c25ca | |||
85119dbd21 | |||
764a31e9f5 | |||
228401d898 | |||
aba201eb4e | |||
9c5d6bcc8c | |||
7b6cf39540 | |||
996f4152d2 | |||
d128c6f6aa | |||
fec1da027c | |||
a1a6e42590 | |||
4272519a3c | |||
9dcdfa323f | |||
5a520585d8 | |||
1823f30420 | |||
f96bbef8fa | |||
f1687bffcf | |||
6c17c04ce6 | |||
b7d02a8c55 | |||
6a47d86d72 | |||
2f61e2b707 | |||
ea0cad5800 | |||
f9d6e05676 | |||
211b47b47d | |||
6d265316ed | |||
8d6200ef58 | |||
e1819c11b2 | |||
cfbbba272e | |||
d01148d339 | |||
fc38122f0f | |||
940c594d3e | |||
f760ed7b8f | |||
752f911a91 | |||
b57cd4ede9 | |||
a856857cb7 | |||
78ff3d8831 | |||
80799eed95 | |||
35ec74edbc | |||
106702d388 | |||
4382b64aa7 | |||
26ba07f36c | |||
a53f93ff1a | |||
705ca2b61b | |||
e587ad4d50 | |||
3613310b62 | |||
5946ab9936 | |||
c8b47ca3ca | |||
16de1dcd01 | |||
038976991e | |||
9cceb79cf8 | |||
4ccb4328f6 | |||
eaf9e79e85 | |||
a3b0cad1e7 | |||
5a51e5d9aa | |||
85583b5ea9 | |||
191a3d75ed | |||
136331963a | |||
bcb5fd9618 | |||
70589c53c6 | |||
ed3776ce8c | |||
a46bd7ab72 | |||
8ce40ebd0c | |||
51ade6529c | |||
b63c8214d7 | |||
e03dcc7c54 | |||
2e99690387 | |||
ee33ea5cfa | |||
93477e270e | |||
66e8a6d3b7 | |||
524769f6fb | |||
654dfbedb8 | |||
fad4a7ebeb | |||
01f002f084 | |||
c8224c8bdf | |||
b7eda8d0f4 | |||
ecc87abaab | |||
a3c2258017 | |||
d87b5a8000 | |||
b34a8c79e8 | |||
ec99f829f3 | |||
2936fd30fb | |||
a36f0f95cb | |||
93ce3bd9bf | |||
e15c27bc8b | |||
92d51dcfa8 | |||
221e07a7a3 | |||
2038772e90 | |||
b6142f1613 | |||
df0fbd1d9d | |||
b159898a47 | |||
38cd16639d | |||
1c51ad943a | |||
9a8955fbe1 | |||
a25a7092d8 | |||
48e4118768 | |||
0a520f6021 | |||
bbf10066bc | |||
44b337abb0 | |||
c2052a3c0c | |||
480183059e | |||
af16a84f09 | |||
fd82b51cec | |||
24bca52c5e | |||
4b6dddde03 | |||
459a1dba3d | |||
10274e7884 | |||
b6df98e86c | |||
01156b172a | |||
4be9e08af7 | |||
f46b2aeb73 | |||
21301c93dc | |||
295bacb652 | |||
b905aa11af | |||
e08976a68d | |||
a0db9cc855 | |||
0b875180bf | |||
b7fb20e69a | |||
159426b8af | |||
b2c3737eaf | |||
d1a397c427 | |||
674f60e9b1 | |||
2dd633a572 | |||
9b16a51364 | |||
5ee02a7546 | |||
223e14f702 | |||
af90b6660b | |||
b1b90af9be | |||
3c92230f82 | |||
0ed54e9ea3 | |||
265bdc7342 | |||
5f4d31abc7 | |||
f31150f58a | |||
41fe830b8a | |||
473ef579b9 | |||
7365eb0a36 | |||
d5eaf8b496 | |||
7847f22a2c | |||
b23e05741c | |||
0e7a013851 | |||
86063cada9 | |||
619280939a | |||
601415c6bb | |||
2a8b3f9c5b | |||
a21a748f24 | |||
5ebd31fe32 | |||
e7ed008af5 | |||
0ba9acbfa4 | |||
adb2d8bef0 | |||
90b15e1c9b | |||
df6017dc1c | |||
def510808d | |||
eb903d71a7 | |||
9fcb3105e5 | |||
5ff6210759 | |||
b8bb98a36b | |||
9dd14c435e | |||
528ad04fdb | |||
2baebc560a | |||
2ccb8d604f | |||
2212f57287 | |||
afbda073a3 | |||
9ed1f3d606 | |||
a339669d05 | |||
1c8d339bb0 | |||
adbdf8550c | |||
b3649b9343 | |||
c1dd1fa279 | |||
8b80a11877 | |||
faa5746f6d | |||
acc306d783 | |||
734b9222d2 | |||
744dbcbbc7 | |||
48a0546eea | |||
f0fa80ca1a | |||
5d07df005b | |||
b83a2954f5 | |||
3af35683ff | |||
5497ea367e | |||
5bca571dd1 | |||
5ebfd961aa | |||
1865ded339 | |||
e8b0f98a55 | |||
760c1a534c | |||
d9c5b32687 | |||
00b2cfc52e | |||
21c17fda63 | |||
518ac25a80 | |||
491b6fb7d8 | |||
adc8be256f | |||
efea9aec4b | |||
f27ed26e44 | |||
0a54764a6a | |||
f4f93005ad | |||
92c2362cef | |||
01424b06b3 | |||
ed4206ee1b | |||
b17d6b9147 | |||
b54e4b1b06 | |||
b3226a5107 | |||
756af8cc4c | |||
c411c4b479 | |||
13aca9d862 | |||
407657d56c | |||
690735de20 | |||
80e3f4128b | |||
7215d8835f | |||
21588d6dac | |||
dcbebe60f1 | |||
1efa444f24 | |||
dc2303d38b | |||
7bfe445d72 | |||
0521159fdc | |||
577a607a14 | |||
5129f45066 | |||
beec2bff62 | |||
aa30bad7e4 | |||
7f3cd8b46a | |||
1da53e2c3f | |||
94f5406936 | |||
d4f11a0537 | |||
cd811f56bc | |||
c15dd57405 | |||
e8539e1165 | |||
b508b8e62c | |||
6eba238b69 | |||
09bd088660 | |||
7aa4e2cbda | |||
8abe272391 | |||
9792f67700 | |||
088b8a0201 | |||
b8784f6bbc | |||
569e23c71c | |||
b761e0e0c0 | |||
a3427ea75b | |||
21d676dd87 | |||
f723f870c7 | |||
5adcb5b4d2 | |||
e5dd49bc15 | |||
a18ab9db86 | |||
084b3028d8 | |||
aa1bcfaa9a | |||
134fbf9600 | |||
c879ab02c3 | |||
199d8b548f | |||
237165e1e9 | |||
0f4ac2e9e3 | |||
05edb33019 | |||
32adb57290 | |||
880f7ed33e | |||
02b2a88bea | |||
a1af4051cd | |||
1572e0e9c3 | |||
649770fdcd | |||
38319d25cc | |||
6f0af5db0a | |||
4b1e5607e1 | |||
c57b658e79 | |||
f26c90729a | |||
758178a2a8 | |||
ea89db72cb | |||
7d14098b21 | |||
378858f270 | |||
9b7b9db979 | |||
c9a5364472 | |||
7c986ebd61 | |||
d5f6d5eafe | |||
d250c447b2 | |||
c02a3ba001 | |||
11228c420f | |||
6465c3b3ea | |||
909f1bba8f | |||
95555f3f20 | |||
837d5b0604 | |||
0f33972fe9 | |||
a0733ce5ee | |||
8d5aefc7de | |||
dc8225a7aa | |||
2f8b22dd93 | |||
83db52797b | |||
994b37e4d5 | |||
073ce9e4a3 | |||
d8a40f48a6 | |||
f8c6e5efb6 | |||
e67765747d | |||
f84bc30bd3 | |||
bb88841f47 | |||
47f535df5b | |||
5eb9c03cd2 | |||
b86d7dbe80 | |||
83ed7ffada | |||
4910f26ce9 | |||
c24441c83d | |||
6647f0c8a4 | |||
0d5ff2fc01 | |||
95ccc6f48f | |||
3873f007e8 | |||
e7c00c1843 | |||
dae19f1781 | |||
3f4d3eb887 | |||
cda74605fc | |||
f7fd836354 | |||
b1b171f130 | |||
d366a4f0e2 | |||
514d48903b | |||
f0cd405f04 | |||
2587757d47 | |||
f1da55c1e9 | |||
b605617c4f | |||
03290abb85 | |||
65895017bd | |||
60fabbdf9a | |||
dab67207cf | |||
9b26b4a0f7 | |||
35e469e2d5 | |||
43f861ca87 | |||
b22e2b64da | |||
46fc256c2f | |||
7615b492af | |||
d978cec6b6 | |||
e26d26d511 | |||
9ebe273fb3 | |||
a110ea9304 | |||
959b0b0839 | |||
9a1bc7d677 | |||
178973a05c | |||
e0a17b552c | |||
7b89755a67 | |||
fdb399e022 | |||
cb5b63fa93 | |||
8ce4280e27 | |||
37f57fbf7f | |||
10c0665ffa | |||
43645b3764 | |||
2e805be6df | |||
2f8b91828b | |||
b16d42a31b | |||
0dd1f341c8 | |||
ea5ea7f001 | |||
564280e622 | |||
2e33d288b1 | |||
df633002dd | |||
c0eebc8121 | |||
14b27978e3 | |||
04cf9c863b | |||
fb7671141a | |||
08045fc46e | |||
cb0a2c3c2e | |||
253c763b45 | |||
3ed2803482 | |||
63ce990a8c | |||
363ff5750f | |||
8f34038ddd | |||
c88e8803fb | |||
fb3de90679 | |||
916077ce6b | |||
dace0940b7 | |||
d726756148 | |||
efcab8aae4 | |||
6447c5371e | |||
f0b6c8b1e2 | |||
e1ac68f526 | |||
9acd9b2feb | |||
c81456f35e | |||
08a038ad51 | |||
b7e3828810 | |||
534809fbb7 | |||
aaf89a67a6 | |||
2fdfd41b17 | |||
a26354b70e | |||
064dbedaa5 | |||
35149161aa | |||
010c94ba87 | |||
5dff610007 | |||
1c8e2ccfe4 | |||
fad40f6c9d | |||
7c8f9e3b6d | |||
6ff5a74d9d | |||
b543bd13e7 | |||
82fd215b99 | |||
e0cc53e8a9 | |||
e2d23b8a63 | |||
d3f057e88c | |||
38147bb4d6 | |||
d004046aa5 | |||
a046e43990 | |||
575ce8ca26 | |||
b1ebdd60a6 | |||
d8d881ac6f | |||
399b268bf1 | |||
24f0323699 | |||
a8fe0fa44a | |||
814c40a093 | |||
7c74332487 | |||
e165418461 | |||
c51fc2ebee | |||
4a2214739c | |||
0b58f052b3 | |||
ef1e821173 | |||
af0e42f13e | |||
36736edec5 | |||
8506cd8be6 | |||
57725cb393 | |||
099deb4385 | |||
d150ba8498 | |||
df2abdab6b | |||
780b8bc1b0 | |||
8b749bef46 | |||
91ea13a593 | |||
6d462cbd63 | |||
813930aee6 | |||
9e8d8b1871 | |||
9a622b6904 | |||
4a29dd2a7c | |||
7bd2fd716d | |||
f199472458 | |||
2c1a03f785 | |||
bcbd2ff112 | |||
67279d5c3d | |||
61bf0151da | |||
e9fd448376 | |||
300f35fadd | |||
6168061f97 | |||
9a1f176df2 | |||
d57e8cfe9e | |||
ed9cb87ac3 | |||
6e7e8a12eb | |||
4919faec58 | |||
d785c34d56 | |||
5359a24800 | |||
d7c204356f | |||
b241cdf25d | |||
ac449e933d | |||
9f2f31c8ec | |||
2016e8e53b | |||
e10f3e17b3 | |||
0acc783f19 | |||
353bf4bc09 | |||
73f4f6667c | |||
a326739705 | |||
a8ac3c3413 | |||
41c46501db | |||
58b2bccbe4 | |||
0baf64588c | |||
c9ee80e47a | |||
1c5bc499a7 | |||
b9ab685b44 | |||
dde6fe6f40 | |||
78a8321eab | |||
5bf6dfa508 | |||
17e42e5650 | |||
56ad076390 | |||
2b9389ef5a | |||
3307c806c8 | |||
7c85a51d48 | |||
d10270f755 | |||
75fddd89a2 | |||
839b519852 | |||
fff2c2ff34 | |||
ea0da68ccd | |||
db4f2ba847 | |||
6c40cc9307 | |||
4f92073a2e | |||
02c08d10c9 | |||
4be5caeff9 | |||
cb3bd83e2a | |||
32f1c58ce7 | |||
7a6e82b7cf | |||
fc57a566cb | |||
c3fec7efe6 | |||
13b01b0bfe | |||
66cc9bbc28 | |||
5f024c18ca | |||
361635c5ab | |||
fc1df001c6 | |||
c35180f4f9 | |||
e894481f5b | |||
16bcb17c06 | |||
d0d540064d | |||
9243ee2450 | |||
a77599ed49 | |||
0f11e531ac | |||
3de9048e8a | |||
dbd122cee3 | |||
1f2087092f | |||
6344096709 | |||
6b56ded55a |
471
.github/workflows/ci.yml
vendored
Normal file
471
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,471 @@
|
||||
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/describe
|
||||
git submodule init libs/mp11
|
||||
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/describe
|
||||
git submodule init libs/mp11
|
||||
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
251
.travis.yml
Normal 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
|
29
CMakeLists.txt
Normal file
29
CMakeLists.txt
Normal file
@ -0,0 +1,29 @@
|
||||
# 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
|
||||
|
||||
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
|
||||
Boost::describe
|
||||
Boost::mp11
|
||||
)
|
98
appveyor.yml
Normal file
98
appveyor.yml
Normal file
@ -0,0 +1,98 @@
|
||||
# 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/describe
|
||||
- git submodule init libs/mp11
|
||||
|
||||
- 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%
|
17
doc/Jamfile
17
doc/Jamfile
@ -1,17 +1,32 @@
|
||||
#==============================================================================
|
||||
# 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
|
||||
# http://www.boost.org/LICENSE_1_0.txt)
|
||||
#==============================================================================
|
||||
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>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 ;
|
||||
|
@ -1,15 +1,23 @@
|
||||
[/==============================================================================
|
||||
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
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
===============================================================================/]
|
||||
[section Acknowledgements]
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
[endsect]
|
||||
|
1503
doc/adapted.qbk
Normal file
1503
doc/adapted.qbk
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,52 @@
|
||||
[/==============================================================================
|
||||
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
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
===============================================================================/]
|
||||
[section Change log]
|
||||
|
||||
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]
|
||||
|
2247
doc/container.qbk
Normal file
2247
doc/container.qbk
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,17 @@
|
||||
[/==============================================================================
|
||||
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
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
===============================================================================/]
|
||||
[section Extension]
|
||||
|
||||
[section:ext_full The Full Extension Mechanism]
|
||||
|
||||
The Fusion library is designed to be extensible, new sequences types can easily
|
||||
be added. In fact, the library support for `std::pair`, `boost::array` and __mpl__
|
||||
be added. In fact, the library support for `std::pair`, `boost::array` and __mpl__
|
||||
sequences is entirely provided using the extension mechanism.
|
||||
|
||||
The process for adding a new sequence type to Fusion is:
|
||||
@ -28,7 +38,7 @@ are going to use the type:
|
||||
{}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
We are going to pretend that this type has been provided by a 3rd party
|
||||
library, and therefore cannot be modified. We shall work through all the
|
||||
necessary steps to enable `example_struct` to serve as an __associative_sequence__
|
||||
@ -50,8 +60,9 @@ tag type for operations involving our sequence. This is done by specializing
|
||||
`traits::tag_of` for our sequence type.
|
||||
|
||||
#include <boost/fusion/support/tag_of_fwd.hpp>
|
||||
#include <boost/fusion/include/tag_of_fwd.hpp>
|
||||
|
||||
namespace boost { namespace fusion { namespace traits {
|
||||
namespace boost { namespace fusion { namespace traits {
|
||||
template<>
|
||||
struct tag_of<example_struct>
|
||||
{
|
||||
@ -59,12 +70,13 @@ 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
|
||||
`traits::tag_of` also has a second template argument,
|
||||
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:
|
||||
|
||||
#include <boost/fusion/sequence/adapted/mpl/tag_of.hpp>
|
||||
#include <boost/fusion/adapted/array/tag_of.hpp>
|
||||
#include <boost/fusion/include/tag_of.hpp>
|
||||
|
||||
[heading Designing a suitable iterator]
|
||||
|
||||
@ -96,7 +108,7 @@ A quick summary of the details of our iterator:
|
||||
# The iterator is parameterized by the type it is iterating over, and the index of the current element.
|
||||
# The typedefs `struct_type` and `index` provide convenient access to information we will need later in
|
||||
the implementation.
|
||||
# The typedef `category` allows the `traits::__category_of__` metafunction to establish
|
||||
# The typedef `category` allows the `traits::__category_of__` metafunction to establish
|
||||
the traversal category of the iterator.
|
||||
# The constructor stores a reference to the `example_struct` being iterated over.
|
||||
|
||||
@ -109,7 +121,7 @@ add features to our implementation.
|
||||
[heading A first couple of instructive features]
|
||||
|
||||
To start with, we will get the __result_of_value_of__ metafunction working. To
|
||||
do this, we provide a specialization of the `boost::fusion::extension::value_of_impl` template for
|
||||
do this, we provide a specialization of the `boost::fusion::extension::value_of_impl` template for
|
||||
our iterator's tag type.
|
||||
|
||||
template<>
|
||||
@ -134,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.
|
||||
|
||||
@ -184,7 +196,7 @@ specialization of `deref_impl`.
|
||||
}
|
||||
|
||||
The use of `deref_impl` is very similar to that of `value_of_impl`, but it also
|
||||
provides some runtime functionality this time via the `call` static member function.
|
||||
provides some runtime functionality this time via the `call` static member function.
|
||||
To see how `deref_impl` is used, lets have a look at the implementation of __deref__:
|
||||
|
||||
namespace result_of
|
||||
@ -205,25 +217,25 @@ 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__.
|
||||
|
||||
The actual implementation of `deref_impl` is slightly more complex than that of `value_of_impl`.
|
||||
The actual implementation of `deref_impl` is slightly more complex than that of `value_of_impl`.
|
||||
We also need to implement the `call` function, which returns a reference
|
||||
to the appropriate member of the underlying sequence. We also require a little
|
||||
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`:
|
||||
|
||||
@ -257,7 +269,7 @@ __random_access_iterator__ `distance_impl` and `advance_impl` also need to be pr
|
||||
in order to satisfy the necessary complexity guarantees. As our iterator is
|
||||
a __random_access_iterator__ we will have to implement all of these functions.
|
||||
|
||||
Full implementations of `prior_impl`, `advance_impl`, `distance_impl` and `equal_to_impl` are
|
||||
Full implementations of `prior_impl`, `advance_impl`, `distance_impl` and `equal_to_impl` are
|
||||
provided in the example code.
|
||||
|
||||
[heading Implementing the intrinsic functions of the sequence]
|
||||
@ -275,7 +287,7 @@ an `impl` type specialized for our sequence tag:
|
||||
|
||||
We've some similar formalities to complete, providing `category_of_impl` so Fusion
|
||||
can correctly identify our sequence type, and `is_view_impl` so Fusion can correctly
|
||||
identify our sequence as not being a __view__ type. Implementations are
|
||||
identify our sequence as not being a __view__ type. Implementations are
|
||||
provide in the example code.
|
||||
|
||||
Now we've completed some formalities, on to more interesting features. Lets get
|
||||
@ -300,20 +312,21 @@ our sequence.
|
||||
|
||||
The implementation uses the same ideas we have applied throughout, in this case
|
||||
we are just creating one of the iterators we developed earlier, pointing to the
|
||||
first element in the sequence. The implementation of __end__ is very similar, and
|
||||
first element in the sequence. The implementation of __end__ is very similar, and
|
||||
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:
|
||||
|
||||
@ -358,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
|
||||
@ -375,3 +387,104 @@ for a variety of types.
|
||||
|
||||
[endsect]
|
||||
|
||||
[section Sequence Facade]
|
||||
|
||||
[heading Description]
|
||||
The __sequence_facade__ template provides an intrusive mechanism for
|
||||
producing a conforming Fusion sequence.
|
||||
|
||||
[heading Synopsis]
|
||||
template<typename Derived, typename TravesalTag, typename IsView = mpl::false_>
|
||||
struct sequence_facade;
|
||||
|
||||
[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 implement the key expressions required by their sequence type.
|
||||
|
||||
[table Parameters
|
||||
[[Name][Description]]
|
||||
[[`sequence`, `Seq`][A type derived from __sequence_facade__]]
|
||||
[[`N`][An __mpl_integral_constant__]]
|
||||
]
|
||||
|
||||
[table Key Expressions
|
||||
[[Expression][Result]]
|
||||
[[`sequence::template begin<Seq>::type`][The type of an iterator to the beginning of a sequence of type `Seq`]]
|
||||
[[`sequence::template begin<Seq>::call(seq)`][An iterator to the beginning of sequence `seq`]]
|
||||
[[`sequence::template end<Seq>::type`][The type of an iterator to the end of a sequence of type `Seq`]]
|
||||
[[`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`]]
|
||||
]
|
||||
|
||||
[heading Include]
|
||||
|
||||
#include <boost/fusion/sequence/sequence_facade.hpp>
|
||||
#include <boost/fusion/include/sequence_facade.hpp>
|
||||
|
||||
[heading Example]
|
||||
A full working example using __sequence_facade__ is provided in triple.cpp in the extension examples.
|
||||
|
||||
[endsect]
|
||||
|
||||
[section Iterator Facade]
|
||||
|
||||
[heading Description]
|
||||
The __iterator_facade__ template provides an intrusive mechanism for
|
||||
producing a conforming Fusion iterator.
|
||||
|
||||
[heading Synopsis]
|
||||
|
||||
template<typename Derived, typename TravesalTag>
|
||||
struct iterator_facade;
|
||||
|
||||
[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 implement the key expressions required by their iterator type.
|
||||
|
||||
[table Parameters
|
||||
[[Name][Description]]
|
||||
[[`iterator`, `It`, `It1`, `It2`][A type derived from __iterator_facade__]]
|
||||
[[`N`][An __mpl_integral_constant__]]
|
||||
]
|
||||
|
||||
[table Key Expressions
|
||||
[[Expression][Result][Default]]
|
||||
[[`iterator::template value_of<It>::type`][The element stored at iterator position `It`][None]]
|
||||
[[`iterator::template deref<It>::type`][The type returned when dereferencing an iterator of type `It`][None]]
|
||||
[[`iterator::template deref<It>::call(it)`][Dereferences iterator `it`][None]]
|
||||
[[`iterator::template next<It>::type`][The type of the next element from `It`][None]]
|
||||
[[`iterator::template next<It>::call(it)`][The next iterator after `it`][None]]
|
||||
[[`iterator::template prior<It>::type`][The type of the next element from `It`][None]]
|
||||
[[`iterator::template prior<It>::call(it)`][The next iterator after `it`][None]]
|
||||
[[`iterator::template advance<It, N>::type`][The type of an iterator advanced `N` elements from `It`][Implemented in terms of `next` and `prior`]]
|
||||
[[`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`][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]
|
||||
|
||||
#include <boost/fusion/iterator/iterator_facade.hpp>
|
||||
#include <boost/fusion/include/iterator_facade.hpp>
|
||||
|
||||
[heading Example]
|
||||
A full working example using __iterator_facade__ is provided in triple.cpp in the extension examples.
|
||||
|
||||
[endsect]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
489
doc/fusion.qbk
489
doc/fusion.qbk
@ -1,8 +1,18 @@
|
||||
[/==============================================================================
|
||||
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
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
===============================================================================/]
|
||||
[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.
|
||||
@ -11,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]]
|
||||
@ -65,189 +72,232 @@
|
||||
[def __pair__ [link fusion.support.pair `pair`]]
|
||||
[def __fusion_make_pair__ [link fusion.support.pair `make_pair`]]
|
||||
|
||||
[def __iterator__ [link fusion.iterators Iterator]]
|
||||
[def __iterator_concepts__ [link fusion.iterators.concepts Iterator Concepts]]
|
||||
[def __forward_iterator__ [link fusion.iterators.concepts.forward_iterator Forward Iterator]]
|
||||
[def __bidirectional_iterator__ [link fusion.iterators.concepts.bidirectional_iterator Bidirectional Iterator]]
|
||||
[def __random_access_iterator__ [link fusion.iterators.concepts.random_access_iterator Random Access Iterator]]
|
||||
[def __iterator__ [link fusion.iterator Iterator]]
|
||||
[def __iterator_concepts__ [link fusion.iterator.concepts Iterator Concepts]]
|
||||
[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.iterators.functions.next `next`]]
|
||||
[def __prior__ [link fusion.iterators.functions.prior `prior`]]
|
||||
[def __advance__ [link fusion.iterators.functions.advance `advance`]]
|
||||
[def __advance_c__ [link fusion.iterators.functions.advance_c `advance_c`]]
|
||||
[def __distance__ [link fusion.iterators.functions.distance `distance`]]
|
||||
[def __deref__ [link fusion.iterators.functions.deref `deref`]]
|
||||
[def __next__ [link fusion.iterator.functions.next `next`]]
|
||||
[def __prior__ [link fusion.iterator.functions.prior `prior`]]
|
||||
[def __advance__ [link fusion.iterator.functions.advance `advance`]]
|
||||
[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.iterators.metafunctions.next `result_of::next`]]
|
||||
[def __result_of_prior__ [link fusion.iterators.metafunctions.prior `result_of::prior`]]
|
||||
[def __result_of_equal_to__ [link fusion.iterators.metafunctions.equal_to `result_of::equal_to`]]
|
||||
[def __result_of_advance__ [link fusion.iterators.metafunctions.advance `result_of::advance`]]
|
||||
[def __result_of_advance_c__ [link fusion.iterators.metafunctions.advance_c `result_of::advance_c`]]
|
||||
[def __result_of_distance__ [link fusion.iterators.metafunctions.distance `result_of::distance`]]
|
||||
[def __result_of_deref__ [link fusion.iterators.metafunctions.deref `result_of::deref`]]
|
||||
[def __result_of_value_of__ [link fusion.iterators.metafunctions.value_of `result_of::value_of`]]
|
||||
[def __value_of__ [link fusion.iterators.metafunctions.value_of `value_of`]]
|
||||
[def __result_of_next__ [link fusion.iterator.metafunctions.next `result_of::next`]]
|
||||
[def __result_of_prior__ [link fusion.iterator.metafunctions.prior `result_of::prior`]]
|
||||
[def __result_of_equal_to__ [link fusion.iterator.metafunctions.equal_to `result_of::equal_to`]]
|
||||
[def __result_of_advance__ [link fusion.iterator.metafunctions.advance `result_of::advance`]]
|
||||
[def __result_of_advance_c__ [link fusion.iterator.metafunctions.advance_c `result_of::advance_c`]]
|
||||
[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 __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.sequences Sequence]]
|
||||
[def __sequence_concepts__ [link fusion.sequences.concepts Sequence Concepts]]
|
||||
[def __traversal_concept__ [link fusion.sequences.concepts.traversal Sequence Traversal Concept]]
|
||||
[def __associativity_concept__ [link fusion.sequences.concepts.associativity Sequence Associativity Concept]]
|
||||
[def __forward_sequence__ [link fusion.sequences.concepts.forward_sequence Forward Sequence]]
|
||||
[def __bidirectional_sequence__ [link fusion.sequences.concepts.bidirectional_sequence Bidirectional Sequence]]
|
||||
[def __random_access_sequence__ [link fusion.sequences.concepts.random_access_sequence Random Access Sequence]]
|
||||
[def __associative_sequence__ [link fusion.sequences.concepts.associative_sequence Associative Sequence]]
|
||||
[def __sequence__ [link fusion.sequence Sequence]]
|
||||
[def __sequence_concepts__ [link fusion.sequence.concepts Sequence Concepts]]
|
||||
[def __traversal_concept__ [link fusion.sequence.concepts.traversal Sequence Traversal Concept]]
|
||||
[def __associativity_concept__ [link fusion.sequence.concepts.associativity Sequence Associativity Concept]]
|
||||
[def __forward_sequence__ [link fusion.sequence.concepts.forward_sequence Forward Sequence]]
|
||||
[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.sequences.containers Containers]]
|
||||
[def __vector__ [link fusion.sequences.containers.vector `vector`]]
|
||||
[def __cons__ [link fusion.sequences.containers.cons `cons`]]
|
||||
[def __list__ [link fusion.sequences.containers.list `list`]]
|
||||
[def __set__ [link fusion.sequences.containers.set `set`]]
|
||||
[def __map__ [link fusion.sequences.containers.map `map`]]
|
||||
[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`]]
|
||||
|
||||
[def __view__ [link fusion.sequences.views View]]
|
||||
[def __views__ [link fusion.sequences.views Views]]
|
||||
[def __single_view__ [link fusion.sequences.views.single_view `single_view`]]
|
||||
[def __filter_view__ [link fusion.sequences.views.filter_view `filter_view`]]
|
||||
[def __iterator_range__ [link fusion.sequences.views.iterator_range `iterator_range`]]
|
||||
[def __joint_view__ [link fusion.sequences.views.joint_view `joint_view`]]
|
||||
[def __transform_view__ [link fusion.sequences.views.transform_view `transform_view`]]
|
||||
[def __reverse_view__ [link fusion.sequences.views.reverse_view `reverse_view`]]
|
||||
[def __zip_view__ [link fusion.sequences.views.zip_view `zip_view`]]
|
||||
[def __view__ [link fusion.view View]]
|
||||
[def __views__ [link fusion.view Views]]
|
||||
[def __single_view__ [link fusion.view.single_view `single_view`]]
|
||||
[def __filter_view__ [link fusion.view.filter_view `filter_view`]]
|
||||
[def __iterator_range__ [link fusion.view.iterator_range `iterator_range`]]
|
||||
[def __joint_view__ [link fusion.view.joint_view `joint_view`]]
|
||||
[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 __std_pair__ [link fusion.sequences.adapted.std__pair `std::pair`]]
|
||||
[def __boost_array__ [link fusion.sequences.adapted.boost__array `boost::array`]]
|
||||
[def __mpl_sequence__ [link fusion.sequences.adapted.mpl_sequence mpl sequence]]
|
||||
[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.sequences.intrinsics Intrinsic]]
|
||||
[def __intrinsics__ [link fusion.sequences.intrinsics Intrinsics]]
|
||||
[def __begin__ [link fusion.sequences.intrinsics.functions.begin `begin`]]
|
||||
[def __result_of_begin__ [link fusion.sequences.intrinsics.metafunctions.begin `result_of::begin`]]
|
||||
[def __end__ [link fusion.sequences.intrinsics.functions.end `end`]]
|
||||
[def __result_of_end__ [link fusion.sequences.intrinsics.metafunctions.end `result_of::end`]]
|
||||
[def __size__ [link fusion.sequences.intrinsics.functions.size `size`]]
|
||||
[def __result_of_size__ [link fusion.sequences.intrinsics.metafunctions.size `result_of::size`]]
|
||||
[def __empty__ [link fusion.sequences.intrinsics.functions.empty `empty`]]
|
||||
[def __result_of_empty__ [link fusion.sequences.intrinsics.metafunctions.empty `result_of::empty`]]
|
||||
[def __front__ [link fusion.sequences.intrinsics.functions.front `front`]]
|
||||
[def __result_of_front__ [link fusion.sequences.intrinsics.metafunctions.front `result_of::front`]]
|
||||
[def __back__ [link fusion.sequences.intrinsics.functions.back `back`]]
|
||||
[def __result_of_back__ [link fusion.sequences.intrinsics.metafunctions.back `result_of::back`]]
|
||||
[def __at__ [link fusion.sequences.intrinsics.functions.at `at`]]
|
||||
[def __result_of_at__ [link fusion.sequences.intrinsics.metafunctions.at `result_of::at`]]
|
||||
[def __at_c__ [link fusion.sequences.intrinsics.functions.at_c `at_c`]]
|
||||
[def __result_of_at_c__ [link fusion.sequences.intrinsics.metafunctions.at_c `result_of::at_c`]]
|
||||
[def __at_key__ [link fusion.sequences.intrinsics.functions.at_key `at_key`]]
|
||||
[def __result_of_at_key__ [link fusion.sequences.intrinsics.metafunctions.at_key `result_of::at_key`]]
|
||||
[def __has_key__ [link fusion.sequences.intrinsics.functions.has_key `has_key`]]
|
||||
[def __result_of_has_key__ [link fusion.sequences.intrinsics.metafunctions.has_key `result_of::has_key`]]
|
||||
[def __value_at_key__ [link fusion.sequences.intrinsics.metafunctions.value_at_key `value_at_key`]]
|
||||
[def __result_of_value_at__ [link fusion.sequences.intrinsics.metafunctions.value_at `result_of::value_at`]]
|
||||
[def __result_of_value_at_c__ [link fusion.sequences.intrinsics.metafunctions.value_at_c `result_of::value_at_c`]]
|
||||
[def __result_of_value_at_key__ [link fusion.sequences.intrinsics.metafunctions.value_at_key `result_of::value_at_key`]]
|
||||
[def __intrinsic__ [link fusion.sequence.intrinsic Intrinsic]]
|
||||
[def __intrinsics__ [link fusion.sequence.intrinsic Intrinsics]]
|
||||
[def __begin__ [link fusion.sequence.intrinsic.functions.begin `begin`]]
|
||||
[def __result_of_begin__ [link fusion.sequence.intrinsic.metafunctions.begin `result_of::begin`]]
|
||||
[def __end__ [link fusion.sequence.intrinsic.functions.end `end`]]
|
||||
[def __result_of_end__ [link fusion.sequence.intrinsic.metafunctions.end `result_of::end`]]
|
||||
[def __size__ [link fusion.sequence.intrinsic.functions.size `size`]]
|
||||
[def __result_of_size__ [link fusion.sequence.intrinsic.metafunctions.size `result_of::size`]]
|
||||
[def __empty__ [link fusion.sequence.intrinsic.functions.empty `empty`]]
|
||||
[def __result_of_empty__ [link fusion.sequence.intrinsic.metafunctions.empty `result_of::empty`]]
|
||||
[def __front__ [link fusion.sequence.intrinsic.functions.front `front`]]
|
||||
[def __result_of_front__ [link fusion.sequence.intrinsic.metafunctions.front `result_of::front`]]
|
||||
[def __back__ [link fusion.sequence.intrinsic.functions.back `back`]]
|
||||
[def __result_of_back__ [link fusion.sequence.intrinsic.metafunctions.back `result_of::back`]]
|
||||
[def __at__ [link fusion.sequence.intrinsic.functions.at `at`]]
|
||||
[def __result_of_at__ [link fusion.sequence.intrinsic.metafunctions.at `result_of::at`]]
|
||||
[def __at_c__ [link fusion.sequence.intrinsic.functions.at_c `at_c`]]
|
||||
[def __result_of_at_c__ [link fusion.sequence.intrinsic.metafunctions.at_c `result_of::at_c`]]
|
||||
[def __at_key__ [link fusion.sequence.intrinsic.functions.at_key `at_key`]]
|
||||
[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 __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.sequences.conversion.functions Conversion]]
|
||||
[def __result_of_conversion__ [link fusion.sequences.conversion.metafunctions Conversion Metafunctions]]
|
||||
[def __as_vector__ [link fusion.sequences.conversion.functions.as_vector `as_vector`]]
|
||||
[def __result_of_as_vector__ [link fusion.sequences.conversion.metafunctions.as_vector `result_of::as_vector`]]
|
||||
[def __as_list__ [link fusion.sequences.conversion.functions.as_list `as_list`]]
|
||||
[def __result_of_as_list__ [link fusion.sequences.conversion.metafunctions.as_list `result_of::as_list`]]
|
||||
[def __as_set__ [link fusion.sequences.conversion.functions.as_set `as_set`]]
|
||||
[def __result_of_as_set__ [link fusion.sequences.conversion.metafunctions.as_set `result_of::as_set`]]
|
||||
[def __as_map__ [link fusion.sequences.conversion.functions.as_map `as_map`]]
|
||||
[def __result_of_as_map__ [link fusion.sequences.conversion.metafunctions.as_map `result_of::as_map`]]
|
||||
[def __conversion__ [link fusion.container.conversion.functions Conversion]]
|
||||
[def __result_of_conversion__ [link fusion.container.conversion.metafunctions Conversion Metafunctions]]
|
||||
[def __as_vector__ [link fusion.container.conversion.functions.as_vector `as_vector`]]
|
||||
[def __result_of_as_vector__ [link fusion.container.conversion.metafunctions.as_vector `result_of::as_vector`]]
|
||||
[def __as_list__ [link fusion.container.conversion.functions.as_list `as_list`]]
|
||||
[def __result_of_as_list__ [link fusion.container.conversion.metafunctions.as_list `result_of::as_list`]]
|
||||
[def __as_set__ [link fusion.container.conversion.functions.as_set `as_set`]]
|
||||
[def __result_of_as_set__ [link fusion.container.conversion.metafunctions.as_set `result_of::as_set`]]
|
||||
[def __as_map__ [link fusion.container.conversion.functions.as_map `as_map`]]
|
||||
[def __result_of_as_map__ [link fusion.container.conversion.metafunctions.as_map `result_of::as_map`]]
|
||||
|
||||
[def __generation__ [link fusion.sequences.generation.functions Generation]]
|
||||
[def __result_of_generation__ [link fusion.sequences.generation.metafunctions Generation Metafunctions]]
|
||||
[def __make_vector__ [link fusion.sequences.generation.functions.make_vector `make_vector`]]
|
||||
[def __result_of_make_vector__ [link fusion.sequences.generation.metafunctions.make_vector `result_of::make_vector`]]
|
||||
[def __vector_tie__ [link fusion.sequences.generation.functions.vector_tie `vector_tie`]]
|
||||
[def __map_tie__ [link fusion.sequences.generation.functions.vector_tie `map_tie`]]
|
||||
[def __result_of_vector_tie__ [link fusion.sequences.generation.metafunctions.vector_tie `result_of::vector_tie`]]
|
||||
[def __make_vector__ [link fusion.sequences.generation.functions.make_vector `make_vector`]]
|
||||
[def __result_of_make_vector__ [link fusion.sequences.generation.metafunctions.make_vector `result_of::make_vector`]]
|
||||
[def __make_cons__ [link fusion.sequences.generation.functions.make_cons `make_cons`]]
|
||||
[def __result_of_make_cons__ [link fusion.sequences.generation.metafunctions.make_cons `result_of::make_cons`]]
|
||||
[def __make_list__ [link fusion.sequences.generation.functions.make_list `make_list`]]
|
||||
[def __result_of_make_list__ [link fusion.sequences.generation.metafunctions.make_list `result_of::make_list`]]
|
||||
[def __make_set__ [link fusion.sequences.generation.functions.make_set `make_set`]]
|
||||
[def __result_of_make_set__ [link fusion.sequences.generation.metafunctions.make_set `result_of::make_set`]]
|
||||
[def __make_map__ [link fusion.sequences.generation.functions.make_map `make_map`]]
|
||||
[def __result_of_make_map__ [link fusion.sequences.generation.metafunctions.make_map `result_of::make_map`]]
|
||||
[def __list_tie__ [link fusion.sequences.generation.functions.list_tie `list_tie`]]
|
||||
[def __result_of_list_tie__ [link fusion.sequences.generation.metafunctions.list_tie `result_of::list_tie`]]
|
||||
[def __generation__ [link fusion.container.generation.functions Generation]]
|
||||
[def __result_of_generation__ [link fusion.container.generation.metafunctions Generation Metafunctions]]
|
||||
[def __make_vector__ [link fusion.container.generation.functions.make_vector `make_vector`]]
|
||||
[def __result_of_make_vector__ [link fusion.container.generation.metafunctions.make_vector `result_of::make_vector`]]
|
||||
[def __vector_tie__ [link fusion.container.generation.functions.vector_tie `vector_tie`]]
|
||||
[def __map_tie__ [link fusion.container.generation.functions.vector_tie `map_tie`]]
|
||||
[def __result_of_vector_tie__ [link fusion.container.generation.metafunctions.vector_tie `result_of::vector_tie`]]
|
||||
[def __make_vector__ [link fusion.container.generation.functions.make_vector `make_vector`]]
|
||||
[def __result_of_make_vector__ [link fusion.container.generation.metafunctions.make_vector `result_of::make_vector`]]
|
||||
[def __make_cons__ [link fusion.container.generation.functions.make_cons `make_cons`]]
|
||||
[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.sequences.operators.i_o.out out]]
|
||||
[def __in__ [link fusion.sequences.operators.i_o.in in]]
|
||||
[def __eq__ [link fusion.sequences.operators.comparison.equal equal]]
|
||||
[def __neq__ [link fusion.sequences.operators.comparison.not_equal not equal]]
|
||||
[def __lt__ [link fusion.sequences.operators.comparison.less_than less than]]
|
||||
[def __lte__ [link fusion.sequences.operators.comparison.less_than_equal less than equal]]
|
||||
[def __gt__ [link fusion.sequences.operators.comparison.greater_than greater than]]
|
||||
[def __gte__ [link fusion.sequences.operators.comparison.greater_than_equal greater than equal]]
|
||||
[def __out__ [link fusion.sequence.operator.i_o.out out]]
|
||||
[def __in__ [link fusion.sequence.operator.i_o.in in]]
|
||||
[def __eq__ [link fusion.sequence.operator.comparison.equal equal]]
|
||||
[def __neq__ [link fusion.sequence.operator.comparison.not_equal not equal]]
|
||||
[def __lt__ [link fusion.sequence.operator.comparison.less_than less than]]
|
||||
[def __lte__ [link fusion.sequence.operator.comparison.less_than_equal less than equal]]
|
||||
[def __gt__ [link fusion.sequence.operator.comparison.greater_than greater than]]
|
||||
[def __gte__ [link fusion.sequence.operator.comparison.greater_than_equal greater than equal]]
|
||||
|
||||
[def __algorithm__ [link fusion.algorithms Algorithm]]
|
||||
[def __algorithms__ [link fusion.algorithms Algorithms]]
|
||||
[def __fold__ [link fusion.algorithms.iteration.functions.fold `fold`]]
|
||||
[def __result_of_fold__ [link fusion.algorithms.iteration.metafunctions.fold `result_of::fold`]]
|
||||
[def __accumulate__ [link fusion.algorithms.iteration.functions.accumulate `accumulate`]]
|
||||
[def __result_of_accumulate__ [link fusion.algorithms.iteration.metafunctions.accumulate `result_of::accumulate`]]
|
||||
[def __for_each__ [link fusion.algorithms.iteration.functions.for_each `for_each`]]
|
||||
[def __result_of_for_each__ [link fusion.algorithms.iteration.metafunctions.for_each `result_of::for_each`]]
|
||||
[def __any__ [link fusion.algorithms.query.functions.any `any`]]
|
||||
[def __result_of_any__ [link fusion.algorithms.query.metafunctions.any `result_of::any`]]
|
||||
[def __all__ [link fusion.algorithms.query.functions.all `all`]]
|
||||
[def __result_of_all__ [link fusion.algorithms.query.metafunctions.all `result_of::all`]]
|
||||
[def __none__ [link fusion.algorithms.query.functions.none `none`]]
|
||||
[def __result_of_none__ [link fusion.algorithms.query.metafunctions.none `result_of::none`]]
|
||||
[def __find__ [link fusion.algorithms.query.functions.find `find`]]
|
||||
[def __result_of_find__ [link fusion.algorithms.query.metafunctions.find `result_of::find`]]
|
||||
[def __find_if__ [link fusion.algorithms.query.functions.find_if `find_if`]]
|
||||
[def __result_of_find_if__ [link fusion.algorithms.query.metafunctions.find_if `result_of::find_if`]]
|
||||
[def __count__ [link fusion.algorithms.query.functions.count `count`]]
|
||||
[def __result_of_count__ [link fusion.algorithms.query.metafunctions.count `result_of::count`]]
|
||||
[def __count_if__ [link fusion.algorithms.query.functions.count_if `count_if`]]
|
||||
[def __result_of_count_if__ [link fusion.algorithms.query.metafunctions.count_if `result_of::count_if`]]
|
||||
[def __filter__ [link fusion.algorithms.transformation.functions.filter `filter`]]
|
||||
[def __result_of_filter__ [link fusion.algorithms.transformation.metafunctions.filter `result_of::filter`]]
|
||||
[def __filter_if__ [link fusion.algorithms.transformation.functions.filter_if `filter_if`]]
|
||||
[def __result_of_filter_if__ [link fusion.algorithms.transformation.metafunctions.filter_if `result_of::filter_if`]]
|
||||
[def __transform__ [link fusion.algorithms.transformation.functions.transform `transform`]]
|
||||
[def __result_of_transform__ [link fusion.algorithms.transformation.metafunctions.transform `result_of::transform`]]
|
||||
[def __replace__ [link fusion.algorithms.transformation.functions.replace `replace`]]
|
||||
[def __result_of_replace__ [link fusion.algorithms.transformation.metafunctions.replace `result_of::replace`]]
|
||||
[def __replace_if__ [link fusion.algorithms.transformation.functions.replace_if `replace_if`]]
|
||||
[def __result_of_replace_if__ [link fusion.algorithms.transformation.metafunctions.replace_if `result_of::replace_if`]]
|
||||
[def __remove__ [link fusion.algorithms.transformation.functions.remove `remove`]]
|
||||
[def __result_of_remove__ [link fusion.algorithms.transformation.metafunctions.remove `result_of::remove`]]
|
||||
[def __remove_if__ [link fusion.algorithms.transformation.functions.remove_if `remove_if`]]
|
||||
[def __result_of_remove_if__ [link fusion.algorithms.transformation.metafunctions.remove_if `result_of::remove_if`]]
|
||||
[def __reverse__ [link fusion.algorithms.transformation.functions.reverse `reverse`]]
|
||||
[def __result_of_reverse__ [link fusion.algorithms.transformation.metafunctions.reverse `result_of::reverse`]]
|
||||
[def __clear__ [link fusion.algorithms.transformation.functions.clear `clear`]]
|
||||
[def __result_of_clear__ [link fusion.algorithms.transformation.metafunctions.clear `result_of::clear`]]
|
||||
[def __erase__ [link fusion.algorithms.transformation.functions.erase `erase`]]
|
||||
[def __result_of_erase__ [link fusion.algorithms.transformation.metafunctions.erase `result_of::erase`]]
|
||||
[def __erase_key__ [link fusion.algorithms.transformation.functions.erase_key `erase_key`]]
|
||||
[def __result_of_erase_key__ [link fusion.algorithms.transformation.metafunctions.erase_key `result_of::erase_key`]]
|
||||
[def __insert__ [link fusion.algorithms.transformation.functions.insert `insert`]]
|
||||
[def __result_of_insert__ [link fusion.algorithms.transformation.metafunctions.insert `result_of::insert`]]
|
||||
[def __insert_range__ [link fusion.algorithms.transformation.functions.insert_range `insert_range`]]
|
||||
[def __result_of_insert_range__ [link fusion.algorithms.transformation.metafunctions.insert_range `result_of::insert_range`]]
|
||||
[def __join__ [link fusion.algorithms.transformation.functions.join `join`]]
|
||||
[def __result_of_join__ [link fusion.algorithms.transformation.metafunctions.join `result_of::join`]]
|
||||
[def __zip__ [link fusion.algorithms.transformation.functions.zip `zip`]]
|
||||
[def __result_of_zip__ [link fusion.algorithms.transformation.metafunctions.zip `result_of::zip`]]
|
||||
[def __pop_back__ [link fusion.algorithms.transformation.functions.pop_back `pop_back`]]
|
||||
[def __result_of_pop_back__ [link fusion.algorithms.transformation.metafunctions.pop_back `result_of::pop_back`]]
|
||||
[def __pop_front__ [link fusion.algorithms.transformation.functions.pop_front `pop_front`]]
|
||||
[def __result_of_pop_front__ [link fusion.algorithms.transformation.metafunctions.pop_front `result_of::pop_front`]]
|
||||
[def __push_back__ [link fusion.algorithms.transformation.functions.push_back `push_back`]]
|
||||
[def __result_of_push_back__ [link fusion.algorithms.transformation.metafunctions.push_back `result_of::push_back`]]
|
||||
[def __push_front__ [link fusion.algorithms.transformation.functions.push_front `push_front`]]
|
||||
[def __result_of_push_front__ [link fusion.algorithms.transformation.metafunctions.push_front `result_of::push_front`]]
|
||||
[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`]]
|
||||
[def __result_of_for_each__ [link fusion.algorithm.iteration.metafunctions.for_each `result_of::for_each`]]
|
||||
[def __any__ [link fusion.algorithm.query.functions.any `any`]]
|
||||
[def __result_of_any__ [link fusion.algorithm.query.metafunctions.any `result_of::any`]]
|
||||
[def __all__ [link fusion.algorithm.query.functions.all `all`]]
|
||||
[def __result_of_all__ [link fusion.algorithm.query.metafunctions.all `result_of::all`]]
|
||||
[def __none__ [link fusion.algorithm.query.functions.none `none`]]
|
||||
[def __result_of_none__ [link fusion.algorithm.query.metafunctions.none `result_of::none`]]
|
||||
[def __find__ [link fusion.algorithm.query.functions.find `find`]]
|
||||
[def __result_of_find__ [link fusion.algorithm.query.metafunctions.find `result_of::find`]]
|
||||
[def __find_if__ [link fusion.algorithm.query.functions.find_if `find_if`]]
|
||||
[def __result_of_find_if__ [link fusion.algorithm.query.metafunctions.find_if `result_of::find_if`]]
|
||||
[def __count__ [link fusion.algorithm.query.functions.count `count`]]
|
||||
[def __result_of_count__ [link fusion.algorithm.query.metafunctions.count `result_of::count`]]
|
||||
[def __count_if__ [link fusion.algorithm.query.functions.count_if `count_if`]]
|
||||
[def __result_of_count_if__ [link fusion.algorithm.query.metafunctions.count_if `result_of::count_if`]]
|
||||
[def __filter__ [link fusion.algorithm.transformation.functions.filter `filter`]]
|
||||
[def __result_of_filter__ [link fusion.algorithm.transformation.metafunctions.filter `result_of::filter`]]
|
||||
[def __filter_if__ [link fusion.algorithm.transformation.functions.filter_if `filter_if`]]
|
||||
[def __result_of_filter_if__ [link fusion.algorithm.transformation.metafunctions.filter_if `result_of::filter_if`]]
|
||||
[def __transform__ [link fusion.algorithm.transformation.functions.transform `transform`]]
|
||||
[def __result_of_transform__ [link fusion.algorithm.transformation.metafunctions.transform `result_of::transform`]]
|
||||
[def __replace__ [link fusion.algorithm.transformation.functions.replace `replace`]]
|
||||
[def __result_of_replace__ [link fusion.algorithm.transformation.metafunctions.replace `result_of::replace`]]
|
||||
[def __replace_if__ [link fusion.algorithm.transformation.functions.replace_if `replace_if`]]
|
||||
[def __result_of_replace_if__ [link fusion.algorithm.transformation.metafunctions.replace_if `result_of::replace_if`]]
|
||||
[def __remove__ [link fusion.algorithm.transformation.functions.remove `remove`]]
|
||||
[def __result_of_remove__ [link fusion.algorithm.transformation.metafunctions.remove `result_of::remove`]]
|
||||
[def __remove_if__ [link fusion.algorithm.transformation.functions.remove_if `remove_if`]]
|
||||
[def __result_of_remove_if__ [link fusion.algorithm.transformation.metafunctions.remove_if `result_of::remove_if`]]
|
||||
[def __reverse__ [link fusion.algorithm.transformation.functions.reverse `reverse`]]
|
||||
[def __result_of_reverse__ [link fusion.algorithm.transformation.metafunctions.reverse `result_of::reverse`]]
|
||||
[def __clear__ [link fusion.algorithm.transformation.functions.clear `clear`]]
|
||||
[def __result_of_clear__ [link fusion.algorithm.transformation.metafunctions.clear `result_of::clear`]]
|
||||
[def __erase__ [link fusion.algorithm.transformation.functions.erase `erase`]]
|
||||
[def __result_of_erase__ [link fusion.algorithm.transformation.metafunctions.erase `result_of::erase`]]
|
||||
[def __erase_key__ [link fusion.algorithm.transformation.functions.erase_key `erase_key`]]
|
||||
[def __result_of_erase_key__ [link fusion.algorithm.transformation.metafunctions.erase_key `result_of::erase_key`]]
|
||||
[def __insert__ [link fusion.algorithm.transformation.functions.insert `insert`]]
|
||||
[def __result_of_insert__ [link fusion.algorithm.transformation.metafunctions.insert `result_of::insert`]]
|
||||
[def __insert_range__ [link fusion.algorithm.transformation.functions.insert_range `insert_range`]]
|
||||
[def __result_of_insert_range__ [link fusion.algorithm.transformation.metafunctions.insert_range `result_of::insert_range`]]
|
||||
[def __join__ [link fusion.algorithm.transformation.functions.join `join`]]
|
||||
[def __result_of_join__ [link fusion.algorithm.transformation.metafunctions.join `result_of::join`]]
|
||||
[def __zip__ [link fusion.algorithm.transformation.functions.zip `zip`]]
|
||||
[def __result_of_zip__ [link fusion.algorithm.transformation.metafunctions.zip `result_of::zip`]]
|
||||
[def __pop_back__ [link fusion.algorithm.transformation.functions.pop_back `pop_back`]]
|
||||
[def __result_of_pop_back__ [link fusion.algorithm.transformation.metafunctions.pop_back `result_of::pop_back`]]
|
||||
[def __pop_front__ [link fusion.algorithm.transformation.functions.pop_front `pop_front`]]
|
||||
[def __result_of_pop_front__ [link fusion.algorithm.transformation.metafunctions.pop_front `result_of::pop_front`]]
|
||||
[def __push_back__ [link fusion.algorithm.transformation.functions.push_back `push_back`]]
|
||||
[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.tuples.pairs `TR1 and std::pair`]]
|
||||
[def __tuple_get__ [link fusion.tuples.class_template_tuple.element_access `get`]]
|
||||
[def __tr1_tuple_pair__ [link fusion.tuple.pairs `TR1 and std::pair`]]
|
||||
[def __tuple_get__ [link fusion.tuple.class_template_tuple.element_access `get`]]
|
||||
|
||||
[def __callable_obj__ [link fusion.functional.concepts.callable Callable Object]]
|
||||
[def __def_callable_obj__ [link fusion.functional.concepts.def_callable Deferred Callable Object]]
|
||||
@ -257,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`]]
|
||||
@ -267,39 +315,44 @@
|
||||
[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 __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]
|
||||
[include quick_start.qbk]
|
||||
[include organization.qbk]
|
||||
[include support.qbk]
|
||||
[include iterators.qbk]
|
||||
[include sequences.qbk]
|
||||
[include algorithms.qbk]
|
||||
[include tuples.qbk]
|
||||
[include iterator.qbk]
|
||||
[include sequence.qbk]
|
||||
[include container.qbk]
|
||||
[include view.qbk]
|
||||
[include adapted.qbk]
|
||||
[include algorithm.qbk]
|
||||
[include tuple.qbk]
|
||||
[include extension.qbk]
|
||||
[include functional.qbk]
|
||||
[include notes.qbk]
|
||||
|
@ -1,511 +0,0 @@
|
||||
/*=============================================================================
|
||||
Copyright (c) 2004 Joel de Guzman
|
||||
http://spirit.sourceforge.net/
|
||||
|
||||
Use, modification and distribution is subject to the Boost Software
|
||||
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
|
||||
/*=============================================================================
|
||||
Body defaults
|
||||
=============================================================================*/
|
||||
|
||||
body
|
||||
{
|
||||
margin: 1em;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Paragraphs
|
||||
=============================================================================*/
|
||||
|
||||
p
|
||||
{
|
||||
text-align: left;
|
||||
font-size: 10pt;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Program listings
|
||||
=============================================================================*/
|
||||
|
||||
/* Code on paragraphs */
|
||||
p tt.computeroutput
|
||||
{
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
pre.synopsis
|
||||
{
|
||||
font-size: 90%;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
font-size: 9pt;
|
||||
display: block;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
/* Program listings in tables don't get borders */
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
margin: 0pc 0pc 0pc 0pc;
|
||||
padding: 0pc 0pc 0pc 0pc;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Headings
|
||||
=============================================================================*/
|
||||
|
||||
h1, h2, h3, h4, h5, h6
|
||||
{
|
||||
text-align: left;
|
||||
margin: 1em 0em 0.5em 0em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 { font: 140% }
|
||||
h2 { font: bold 140% }
|
||||
h3 { font: bold 130% }
|
||||
h4 { font: bold 120% }
|
||||
h5 { font: italic 110% }
|
||||
h6 { font: italic 100% }
|
||||
|
||||
/* Top page titles */
|
||||
title,
|
||||
h1.title,
|
||||
h2.title
|
||||
h3.title,
|
||||
h4.title,
|
||||
h5.title,
|
||||
h6.title,
|
||||
.refentrytitle
|
||||
{
|
||||
font-weight: bold;
|
||||
margin-bottom: 1pc;
|
||||
}
|
||||
|
||||
h1.title { font-size: 140% }
|
||||
h2.title { font-size: 140% }
|
||||
h3.title { font-size: 130% }
|
||||
h4.title { font-size: 120% }
|
||||
h5.title { font-size: 110% }
|
||||
h6.title { font-size: 100% }
|
||||
|
||||
.section h1
|
||||
{
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
font-size: 140%;
|
||||
}
|
||||
|
||||
.section h2 { font-size: 140% }
|
||||
.section h3 { font-size: 130% }
|
||||
.section h4 { font-size: 120% }
|
||||
.section h5 { font-size: 110% }
|
||||
.section h6 { font-size: 100% }
|
||||
|
||||
/* Code on titles */
|
||||
h1 tt.computeroutput { font-size: 140% }
|
||||
h2 tt.computeroutput { font-size: 140% }
|
||||
h3 tt.computeroutput { font-size: 130% }
|
||||
h4 tt.computeroutput { font-size: 120% }
|
||||
h5 tt.computeroutput { font-size: 110% }
|
||||
h6 tt.computeroutput { font-size: 100% }
|
||||
|
||||
/*=============================================================================
|
||||
Author
|
||||
=============================================================================*/
|
||||
|
||||
h3.author
|
||||
{
|
||||
font-size: 100%
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Lists
|
||||
=============================================================================*/
|
||||
|
||||
li
|
||||
{
|
||||
font-size: 10pt;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* Unordered lists */
|
||||
ul
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Ordered lists */
|
||||
ol
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Links
|
||||
=============================================================================*/
|
||||
|
||||
a
|
||||
{
|
||||
text-decoration: none; /* no underline */
|
||||
}
|
||||
|
||||
a:hover
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Spirit style navigation
|
||||
=============================================================================*/
|
||||
|
||||
.spirit-nav
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.spirit-nav a
|
||||
{
|
||||
color: white;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.spirit-nav img
|
||||
{
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Table of contents
|
||||
=============================================================================*/
|
||||
|
||||
.toc
|
||||
{
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.1pc 1pc 0.1pc 1pc;
|
||||
font-size: 80%;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
.boost-toc
|
||||
{
|
||||
float: right;
|
||||
padding: 0.5pc;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Tables
|
||||
=============================================================================*/
|
||||
|
||||
.table-title,
|
||||
div.table p.title
|
||||
{
|
||||
margin-left: 4%;
|
||||
padding-right: 0.5em;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.informaltable table,
|
||||
.table table
|
||||
{
|
||||
width: 92%;
|
||||
margin-left: 4%;
|
||||
margin-right: 4%;
|
||||
}
|
||||
|
||||
div.informaltable table,
|
||||
div.table table
|
||||
{
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* Table Cells */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
padding: 0.5em;
|
||||
text-align: left;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
padding: 0.5em 0.5em 0.5em 0.5em;
|
||||
border: 1pt solid white;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Blurbs
|
||||
=============================================================================*/
|
||||
|
||||
div.note,
|
||||
div.tip,
|
||||
div.important,
|
||||
div.caution,
|
||||
div.warning,
|
||||
p.blurb
|
||||
{
|
||||
font-size: 9pt; /* A little bit smaller than the main text */
|
||||
line-height: 1.2;
|
||||
display: block;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
p.blurb img
|
||||
{
|
||||
padding: 1pt;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Variable Lists
|
||||
=============================================================================*/
|
||||
|
||||
/* Make the terms in definition lists bold */
|
||||
div.variablelist dl dt,
|
||||
span.term
|
||||
{
|
||||
font-weight: bold;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
div.variablelist table tbody tr td
|
||||
{
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
padding: 0em 2em 0em 0em;
|
||||
font-size: 10pt;
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
div.variablelist dl dt
|
||||
{
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
div.variablelist dl dd
|
||||
{
|
||||
margin: 0em 0em 0.5em 2em;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
div.variablelist table tbody tr td p,
|
||||
div.variablelist dl dd p
|
||||
{
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Misc
|
||||
=============================================================================*/
|
||||
|
||||
/* Title of books and articles in bibliographies */
|
||||
span.title
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
span.underline
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
span.strikethrough
|
||||
{
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
/* Copyright, Legal Notice */
|
||||
div div.legalnotice p
|
||||
{
|
||||
text-align: left
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Colors
|
||||
=============================================================================*/
|
||||
|
||||
@media screen
|
||||
{
|
||||
/* Links */
|
||||
a
|
||||
{
|
||||
color: #005a9c;
|
||||
}
|
||||
|
||||
a:visited
|
||||
{
|
||||
color: #9c5a9c;
|
||||
}
|
||||
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
|
||||
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
|
||||
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
|
||||
{
|
||||
text-decoration: none; /* no underline */
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* Syntax Highlighting */
|
||||
.keyword { color: #0000AA; }
|
||||
.identifier { color: #000000; }
|
||||
.special { color: #707070; }
|
||||
.preprocessor { color: #402080; }
|
||||
.char { color: teal; }
|
||||
.comment { color: #800000; }
|
||||
.string { color: teal; }
|
||||
.number { color: teal; }
|
||||
.white_bkd { background-color: #FFFFFF; }
|
||||
.dk_grey_bkd { background-color: #999999; }
|
||||
|
||||
/* Copyright, Legal Notice */
|
||||
.copyright
|
||||
{
|
||||
color: #666666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div div.legalnotice p
|
||||
{
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
/* Program listing */
|
||||
pre.synopsis
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
border: 0px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Blurbs */
|
||||
div.note,
|
||||
div.tip,
|
||||
div.important,
|
||||
div.caution,
|
||||
div.warning,
|
||||
p.blurb
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Table of contents */
|
||||
.toc
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
background-color: #F0F0F0;
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
span.highlight
|
||||
{
|
||||
color: #00A000;
|
||||
}
|
||||
}
|
||||
|
||||
@media print
|
||||
{
|
||||
/* Links */
|
||||
a
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
a:visited
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
.spirit-nav
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Program listing */
|
||||
pre.synopsis
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
border: 0px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Table of contents */
|
||||
.toc
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.informaltable table,
|
||||
.table table
|
||||
{
|
||||
border: 1px solid gray;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
span.highlight
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
@ -1,53 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Acknowledgements</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="change_log.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="change_log.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,110 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Algorithms</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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="sequences/operators/comparison/greater_than_equal.html" title="greater
|
||||
than equal">
|
||||
<link rel="next" href="algorithms/iteration.html" title="Iteration">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/iteration.html"><img src="../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.algorithms"></a><a href="algorithms.html" title="Algorithms">Algorithms</a></h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="algorithms/iteration.html">Iteration</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithms/iteration/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithms/iteration/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="algorithms/query.html">Query</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithms/query/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithms/query/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="algorithms/transformation.html">Transformation</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="algorithms/transformation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="algorithms/transformation/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
<a name="fusion.algorithms.lazy_evaluation"></a><h3>
|
||||
<a name="id1113801"></a>
|
||||
<a href="algorithms.html#fusion.algorithms.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="algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> algorithm does not actually
|
||||
return a transformed version of the original sequence. <a href="algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> returns a <a href="sequences/views/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>. This view holds a
|
||||
reference to the original sequence plus the transform function. Iteration over
|
||||
the <a href="sequences/views/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></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.algorithms.sequence_extension"></a><h3>
|
||||
<a name="id1113934"></a>
|
||||
<a href="algorithms.html#fusion.algorithms.sequence_extension">Sequence Extension</a>
|
||||
</h3>
|
||||
<p>
|
||||
The <span class="emphasis"><em>lazy</em></span> evaluation scheme where <a href="algorithms.html" title="Algorithms">Algorithms</a>
|
||||
return <a href="sequences/views.html" title="Views">Views</a> also allows operations
|
||||
such as <a href="algorithms/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> to be totally generic. In
|
||||
Fusion, <a href="algorithms/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> is actually a generic algorithm
|
||||
that works on all sequences. Given an input sequence <code class="computeroutput"><span class="identifier">s</span></code>
|
||||
and a value <code class="computeroutput"><span class="identifier">x</span></code>, Fusion's <a href="algorithms/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> algorithm simply returns
|
||||
a <a href="sequences/views/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a>:
|
||||
a view that holds a reference to the original sequence <code class="computeroutput"><span class="identifier">s</span></code>
|
||||
and the value <code class="computeroutput"><span class="identifier">x</span></code>. 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="algorithms/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> does not retain the properties
|
||||
of the original sequence such as associativity of <span class="underline">_set</span>_s.
|
||||
To regain the original sequence, <a href="sequences/conversion/functions.html" title="Functions">Conversion</a>
|
||||
functions are provided. You may use one of the <a href="sequences/conversion/functions.html" title="Functions">Conversion</a>
|
||||
functions to convert back to the original sequence type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.header"></a><h3>
|
||||
<a name="id1114134"></a>
|
||||
<a href="algorithms.html#fusion.algorithms.header">Header</a>
|
||||
</h3>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">algorithm</span><span class="special">.</span><span class="identifier">hpp</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/iteration.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,41 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Concepts</title>
|
||||
<link rel="stylesheet" href="../../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="../algorithms.html" title="Algorithms">
|
||||
<link rel="prev" href="../algorithms.html" title="Algorithms">
|
||||
<link rel="next" href="concepts/poly.html" title=" Polymorphic Function
|
||||
Object">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/poly.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithms.concepts"></a><a href="concepts.html" title="Concepts">Concepts</a></h3></div></div></div>
|
||||
<div class="toc"><dl><dt><span class="section"><a href="concepts/poly.html"> Polymorphic Function
|
||||
Object</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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/poly.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,96 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Polymorphic Function
|
||||
Object</title>
|
||||
<link rel="stylesheet" href="../../../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="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="../concepts.html" title="Concepts">
|
||||
<link rel="next" href="../iteration.html" title="Iteration">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../iteration.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.concepts.poly"></a><a href="poly.html" title=" Polymorphic Function
|
||||
Object"> Polymorphic Function
|
||||
Object</a></h4></div></div></div>
|
||||
<a name="fusion.algorithms.concepts.poly.description"></a><h5>
|
||||
<a name="id553170"></a>
|
||||
<a href="poly.html#fusion.algorithms.concepts.poly.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
A type of function object with a nested metafunction <tt class="computeroutput"><span class="identifier">result</span></tt>.
|
||||
<tt class="computeroutput"><span class="identifier">result</span></tt> returns the result
|
||||
type of calling the function object, given the argument types.
|
||||
</p>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
|
||||
<dd>
|
||||
A Polymorphic Function Object type
|
||||
</dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
|
||||
<dd>
|
||||
A Polymorphic Function Object
|
||||
</dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span></tt></span></dt>
|
||||
<dd>
|
||||
Arbitrary types
|
||||
</dd>
|
||||
<dt><span class="term"><tt class="computeroutput"><span class="identifier">t1</span>
|
||||
<span class="special">...</span><span class="identifier">tN</span></tt></span></dt>
|
||||
<dd>
|
||||
Objects with types <tt class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span></tt>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.algorithms.concepts.poly.expression_requirements"></a><h5>
|
||||
<a name="id553345"></a>
|
||||
<a href="poly.html#fusion.algorithms.concepts.poly.expression_requirements">Expression
|
||||
requirements</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>Expression</th>
|
||||
<th>Return Type</th>
|
||||
<th>Runtime
|
||||
Complexity</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td><tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">tN</span><span class="special">)</span></tt></td>
|
||||
<td><tt class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span></tt></td>
|
||||
<td>Unspecified</td>
|
||||
</tr></tbody>
|
||||
</table></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"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../iteration.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Iteration</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../algorithms.html" title="Algorithms">
|
||||
<link rel="prev" href="../algorithms.html" title="Algorithms">
|
||||
<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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithms.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.algorithms.iteration.header"></a><h4>
|
||||
<a name="id1114231"></a>
|
||||
<a href="iteration.html#fusion.algorithms.iteration.header">Header</a>
|
||||
</h4>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,44 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../iteration.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../iteration.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.description"></a><h6>
|
||||
<a name="id1115707"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Repeatedly applies binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
to each element of a sequence and the previous state. <a href="accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a> is equivalent to
|
||||
<a href="fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.synopsis"></a><h6>
|
||||
<a name="id1115786"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span> <span class="identifier">accumulate</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1116015"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <code 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></code> must be a valid expression for
|
||||
each element <code class="computeroutput"><span class="identifier">e1</span></code>
|
||||
to <code class="computeroutput"><span class="identifier">eN</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">initial_state</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of binary <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.algorithms.iteration.functions.accumulate.expression_semantics"></a><h6>
|
||||
<a name="id1116278"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.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"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code 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></code>
|
||||
where <code class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></code> are the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.complexity"></a><h6>
|
||||
<a name="id1116463"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.header"></a><h6>
|
||||
<a name="id1116547"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.iteration.functions.accumulate.example"></a><h6>
|
||||
<a name="id1116642"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.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">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</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">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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">&</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">&</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"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</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>
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></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"><code class="computeroutput"><span class="identifier">accumulate</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,200 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fold</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.functions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.description"></a><h6>
|
||||
<a name="id1114351"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.functions.fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Repeatedly applies binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
to each element of a sequence and the previous state.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.synopsis"></a><h6>
|
||||
<a name="id1114398"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.functions.fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span> <span class="identifier">fold</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1114626"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>,<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression for
|
||||
each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">initial_state</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initial state
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of binary <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.algorithms.iteration.functions.fold.expression_semantics"></a><h6>
|
||||
<a name="id1114833"></a>
|
||||
<a href="fold.html#fusion.algorithms.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"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code 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></code>
|
||||
where <code class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></code> are the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.complexity"></a><h6>
|
||||
<a name="id1115018"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.functions.fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.header"></a><h6>
|
||||
<a name="id1115102"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.functions.fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.iteration.functions.fold.example"></a><h6>
|
||||
<a name="id1115197"></a>
|
||||
<a href="fold.html#fusion.algorithms.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">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">State</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</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">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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">&</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">&</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"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</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>
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></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"><code class="computeroutput"><span class="identifier">fold</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,174 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>for_each</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.functions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.description"></a><h6>
|
||||
<a name="id1117148"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Applies a unary function object to each element of a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.synopsis"></a><h6>
|
||||
<a name="id1117177"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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> <a href="../metafunctions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">for_each</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">f</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1117355"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression for
|
||||
each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</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.algorithms.iteration.functions.for_each.expression_semantics"></a><h6>
|
||||
<a name="id1117534"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></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"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Calls <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.complexity"></a><h6>
|
||||
<a name="id1117673"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.header"></a><h6>
|
||||
<a name="id1117757"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.iteration.functions.for_each.example"></a><h6>
|
||||
<a name="id1117852"></a>
|
||||
<a href="for_each.html#fusion.algorithms.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"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span><span class="special">&</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="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></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"><code class="computeroutput"><span class="identifier">for_each</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,44 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Metafunctions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/for_each.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/for_each.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,178 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>accumulate</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.description"></a><h6>
|
||||
<a name="id1136364"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.synopsis"></a><h6>
|
||||
<a name="id1136407"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1136527"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">State</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on forward traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
|
||||
<a name="id1136703"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
|
||||
<code class="computeroutput"><span class="identifier">accumulate</span></code> to a sequence
|
||||
of type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with
|
||||
an initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
|
||||
and binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.complexity"></a><h6>
|
||||
<a name="id1136864"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.accumulate.header"></a><h6>
|
||||
<a name="id1136948"></a>
|
||||
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fold.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,178 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fold</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.description"></a><h6>
|
||||
<a name="id1118190"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.synopsis"></a><h6>
|
||||
<a name="id1118233"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1118353"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to iterate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">State</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The operation to be applied on forward traversal
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.expression_semantics"></a><h6>
|
||||
<a name="id1136005"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: Any type
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
|
||||
<code class="computeroutput"><span class="identifier">fold</span></code> to a sequence of
|
||||
type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with an
|
||||
initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
|
||||
and binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.complexity"></a><h6>
|
||||
<a name="id1136166"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.fold.header"></a><h6>
|
||||
<a name="id1136250"></a>
|
||||
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,158 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>for_each</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.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"><code class="computeroutput"><span class="identifier">for_each</span></code></a> to a sequence. The
|
||||
return type of <a href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> is always <code class="computeroutput"><span class="keyword">void</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.description"></a><h6>
|
||||
<a name="id1137109"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.synopsis"></a><h6>
|
||||
<a name="id1137133"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">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="id1137240"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.expression_semantics"></a><h6>
|
||||
<a name="id1137365"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> for a sequence of type
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code> and a unary
|
||||
function object <code class="computeroutput"><span class="identifier">F</span></code>. The
|
||||
return type is always <code class="computeroutput"><span class="keyword">void</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.complexity"></a><h6>
|
||||
<a name="id1137524"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.iteration.metafunctions.for_each.header"></a><h6>
|
||||
<a name="id1137552"></a>
|
||||
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="accumulate.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,53 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Query</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../algorithms.html" title="Algorithms">
|
||||
<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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithms.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.algorithms.query.header"></a><h4>
|
||||
<a name="id1137670"></a>
|
||||
<a href="query.html#fusion.algorithms.query.header">Header</a>
|
||||
</h4>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../query.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../query.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,177 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>all</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.all.description"></a><h6>
|
||||
<a name="id1138849"></a>
|
||||
<a href="all.html#fusion.algorithms.query.functions.all.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
|
||||
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">all</span></code> returns true if
|
||||
<code class="computeroutput"><span class="identifier">f</span></code> returns true for every
|
||||
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.all.synopsis"></a><h6>
|
||||
<a name="id1138929"></a>
|
||||
<a href="all.html#fusion.algorithms.query.functions.all.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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> <a href="../metafunctions/all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</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">&</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="id1139098"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for every
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.all.expression_semantics"></a><h6>
|
||||
<a name="id1139276"></a>
|
||||
<a href="all.html#fusion.algorithms.query.functions.all.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></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"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
|
||||
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for every
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.all.complexity"></a><h6>
|
||||
<a name="id1139426"></a>
|
||||
<a href="all.html#fusion.algorithms.query.functions.all.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.all.header"></a><h6>
|
||||
<a name="id1139500"></a>
|
||||
<a href="all.html#fusion.algorithms.query.functions.all.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.all.example"></a><h6>
|
||||
<a name="id1139593"></a>
|
||||
<a href="all.html#fusion.algorithms.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"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,177 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>any</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.any.description"></a><h6>
|
||||
<a name="id1137790"></a>
|
||||
<a href="any.html#fusion.algorithms.query.functions.any.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
|
||||
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">any</span></code> returns true if
|
||||
<code class="computeroutput"><span class="identifier">f</span></code> returns true for at
|
||||
least one element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.any.synopsis"></a><h6>
|
||||
<a name="id1137870"></a>
|
||||
<a href="any.html#fusion.algorithms.query.functions.any.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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> <a href="../metafunctions/any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</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">&</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="id1138040"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.any.expression_semantics"></a><h6>
|
||||
<a name="id1138218"></a>
|
||||
<a href="any.html#fusion.algorithms.query.functions.any.expression_semantics">Expression
|
||||
semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></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"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
|
||||
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for some
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.any.complexity"></a><h6>
|
||||
<a name="id1138368"></a>
|
||||
<a href="any.html#fusion.algorithms.query.functions.any.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.any.header"></a><h6>
|
||||
<a name="id1138442"></a>
|
||||
<a href="any.html#fusion.algorithms.query.functions.any.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.any.example"></a><h6>
|
||||
<a name="id1138535"></a>
|
||||
<a href="any.html#fusion.algorithms.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"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,164 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>count</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.count.description"></a><h6>
|
||||
<a name="id1143001"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the number of elements of a given type within a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count.synopsis"></a><h6>
|
||||
<a name="id1143030"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1143213"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">t</span></code>
|
||||
must be a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
|
||||
for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to count
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.count.expression_semantics"></a><h6>
|
||||
<a name="id1143389"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></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"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the number of elements
|
||||
of type <code class="computeroutput"><span class="identifier">T</span></code> and equal to
|
||||
<code class="computeroutput"><span class="identifier">t</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count.complexity"></a><h6>
|
||||
<a name="id1143516"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count.header"></a><h6>
|
||||
<a name="id1143590"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.count.example"></a><h6>
|
||||
<a name="id1143683"></a>
|
||||
<a href="count.html#fusion.algorithms.query.functions.count.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</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">></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"><code class="computeroutput"><span class="identifier">count</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,163 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>count_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.count_if.description"></a><h6>
|
||||
<a name="id1143875"></a>
|
||||
<a href="count_if.html#fusion.algorithms.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 <code class="computeroutput"><span class="keyword">true</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count_if.synopsis"></a><h6>
|
||||
<a name="id1143915"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.functions.count_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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> <a href="../metafunctions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</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">&</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="id1144088"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.count_if.expression_semantics"></a><h6>
|
||||
<a name="id1144265"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.functions.count_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></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"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the number of elements
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code> where <code class="computeroutput"><span class="identifier">f</span></code> evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count_if.complexity"></a><h6>
|
||||
<a name="id1144392"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.functions.count_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.count_if.header"></a><h6>
|
||||
<a name="id1144466"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.functions.count_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.count_if.example"></a><h6>
|
||||
<a name="id1144561"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.functions.count_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</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">></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"><code class="computeroutput"><span class="identifier">count_if</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,169 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>find</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.find.description"></a><h6>
|
||||
<a name="id1141006"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Finds the first element of a given type within a sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find.synopsis"></a><h6>
|
||||
<a name="id1141034"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</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">></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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1141209"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to search for
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.find.expression_semantics"></a><h6>
|
||||
<a name="id1141332"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
|
||||
category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
|
||||
first element of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">T</span></code>, or <code class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> if there is no such element. Equivalent
|
||||
to <code class="computeroutput"><a href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find.complexity"></a><h6>
|
||||
<a name="id1141558"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find.header"></a><h6>
|
||||
<a name="id1141632"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.find.example"></a><h6>
|
||||
<a name="id1141725"></a>
|
||||
<a href="find.html#fusion.algorithms.query.functions.find.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">int</span><span class="special">></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"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</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"><code class="computeroutput"><span class="identifier">find</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,173 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>find_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.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 <code 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></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find_if.description"></a><h6>
|
||||
<a name="id1142017"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithms.query.functions.find_if.synopsis"></a><h6>
|
||||
<a name="id1142041"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</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">Sequence</span>
|
||||
<span class="special">></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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</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">Sequence</span>
|
||||
<span class="special">></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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1142217"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</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.algorithms.query.functions.find_if.expression_semantics"></a><h6>
|
||||
<a name="id1142347"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">F</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: An iterator of the same
|
||||
iterator category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the first element
|
||||
of <code class="computeroutput"><span class="identifier">seq</span></code> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
|
||||
Lambda Expression</a> <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
evaluates to <code 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></code>, or <code class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code>
|
||||
if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find_if.complexity"></a><h6>
|
||||
<a name="id1142532"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.find_if.header"></a><h6>
|
||||
<a name="id1142605"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.find_if.example"></a><h6>
|
||||
<a name="id1142700"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.functions.find_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">></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"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</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"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,177 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>none</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.functions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.functions.none.description"></a><h6>
|
||||
<a name="id1139908"></a>
|
||||
<a href="none.html#fusion.algorithms.query.functions.none.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
|
||||
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">none</span></code> returns true if
|
||||
<code class="computeroutput"><span class="identifier">f</span></code> returns false for every
|
||||
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.none.synopsis"></a><h6>
|
||||
<a name="id1139988"></a>
|
||||
<a href="none.html#fusion.algorithms.query.functions.none.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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> <a href="../metafunctions/none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">>::</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">&</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="id1140158"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for every
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The sequence to search
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The search predicate
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.functions.none.expression_semantics"></a><h6>
|
||||
<a name="id1140336"></a>
|
||||
<a href="none.html#fusion.algorithms.query.functions.none.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></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"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
|
||||
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="keyword">false</span></code> for every
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>. Result equivalent to <code 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></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.none.complexity"></a><h6>
|
||||
<a name="id1140524"></a>
|
||||
<a href="none.html#fusion.algorithms.query.functions.none.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.functions.none.header"></a><h6>
|
||||
<a name="id1140597"></a>
|
||||
<a href="none.html#fusion.algorithms.query.functions.none.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.query.functions.none.example"></a><h6>
|
||||
<a name="id1140690"></a>
|
||||
<a href="none.html#fusion.algorithms.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"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/count_if.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/count_if.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,161 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>all</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.description"></a><h6>
|
||||
<a name="id1145360"></a>
|
||||
<a href="all.html#fusion.algorithms.query.metafunctions.all.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.synopsis"></a><h6>
|
||||
<a name="id1145404"></a>
|
||||
<a href="all.html#fusion.algorithms.query.metafunctions.all.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">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="id1145511"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</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.algorithms.query.metafunctions.all.expression_semantics"></a><h6>
|
||||
<a name="id1145642"></a>
|
||||
<a href="all.html#fusion.algorithms.query.metafunctions.all.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>
|
||||
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.complexity"></a><h6>
|
||||
<a name="id1145808"></a>
|
||||
<a href="all.html#fusion.algorithms.query.metafunctions.all.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.all.header"></a><h6>
|
||||
<a name="id1145836"></a>
|
||||
<a href="all.html#fusion.algorithms.query.metafunctions.all.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="any.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,161 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>any</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.description"></a><h6>
|
||||
<a name="id1144772"></a>
|
||||
<a href="any.html#fusion.algorithms.query.metafunctions.any.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.synopsis"></a><h6>
|
||||
<a name="id1144816"></a>
|
||||
<a href="any.html#fusion.algorithms.query.metafunctions.any.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">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="id1144923"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</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.algorithms.query.metafunctions.any.expression_semantics"></a><h6>
|
||||
<a name="id1145054"></a>
|
||||
<a href="any.html#fusion.algorithms.query.metafunctions.any.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>
|
||||
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.complexity"></a><h6>
|
||||
<a name="id1145220"></a>
|
||||
<a href="any.html#fusion.algorithms.query.metafunctions.any.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.any.header"></a><h6>
|
||||
<a name="id1145248"></a>
|
||||
<a href="any.html#fusion.algorithms.query.metafunctions.any.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,156 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>count</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.description"></a><h6>
|
||||
<a name="id1147815"></a>
|
||||
<a href="count.html#fusion.algorithms.query.metafunctions.count.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count</span></code>
|
||||
given the sequence and search types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.synopsis"></a><h6>
|
||||
<a name="id1147854"></a>
|
||||
<a href="count.html#fusion.algorithms.query.metafunctions.count.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1147962"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.expression_semantics"></a><h6>
|
||||
<a name="id1148087"></a>
|
||||
<a href="count.html#fusion.algorithms.query.metafunctions.count.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a href="../functions/count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a>. The return type is always
|
||||
<code class="computeroutput"><span class="keyword">int</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.complexity"></a><h6>
|
||||
<a name="id1148214"></a>
|
||||
<a href="count.html#fusion.algorithms.query.metafunctions.count.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count.header"></a><h6>
|
||||
<a name="id1148242"></a>
|
||||
<a href="count.html#fusion.algorithms.query.metafunctions.count.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,156 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>count_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.description"></a><h6>
|
||||
<a name="id1148354"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count_if</span></code>
|
||||
given the sequence and predicate types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.synopsis"></a><h6>
|
||||
<a name="id1148393"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1148501"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary function object
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.expression_semantics"></a><h6>
|
||||
<a name="id1148626"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a href="../functions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a>. The return type is
|
||||
always <code class="computeroutput"><span class="keyword">int</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.complexity"></a><h6>
|
||||
<a name="id1148763"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.count_if.header"></a><h6>
|
||||
<a name="id1148791"></a>
|
||||
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="count.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,157 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>find</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.description"></a><h6>
|
||||
<a name="id1146538"></a>
|
||||
<a href="find.html#fusion.algorithms.query.metafunctions.find.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <code class="computeroutput"><span class="identifier">find</span></code>,
|
||||
given the sequence and search types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.synopsis"></a><h6>
|
||||
<a name="id1146577"></a>
|
||||
<a href="find.html#fusion.algorithms.query.metafunctions.find.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1146682"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.expression_semantics"></a><h6>
|
||||
<a name="id1146805"></a>
|
||||
<a href="find.html#fusion.algorithms.query.metafunctions.find.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="find.html" title="find"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
|
||||
category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
|
||||
first element of type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">Sequence</span></code>, or <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.complexity"></a><h6>
|
||||
<a name="id1146984"></a>
|
||||
<a href="find.html#fusion.algorithms.query.metafunctions.find.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear, at most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find.header"></a><h6>
|
||||
<a name="id1147058"></a>
|
||||
<a href="find.html#fusion.algorithms.query.metafunctions.find.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="none.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,159 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>find_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.description"></a><h6>
|
||||
<a name="id1147172"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <code class="computeroutput"><span class="identifier">find_if</span></code>
|
||||
given the sequence and predicate types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.synopsis"></a><h6>
|
||||
<a name="id1147211"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1147317"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</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.algorithms.query.metafunctions.find_if.expression_semantics"></a><h6>
|
||||
<a name="id1147449"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
|
||||
category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
|
||||
first element in <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
|
||||
to true. Returns <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span></code> if there is no such element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.complexity"></a><h6>
|
||||
<a name="id1147629"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">value</span></code> comparisons.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.find_if.header"></a><h6>
|
||||
<a name="id1147703"></a>
|
||||
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="find.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,161 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>none</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.query.metafunctions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.description"></a><h6>
|
||||
<a name="id1145948"></a>
|
||||
<a href="none.html#fusion.algorithms.query.metafunctions.none.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
A metafunction returning the result type of <a href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.synopsis"></a><h6>
|
||||
<a name="id1145992"></a>
|
||||
<a href="none.html#fusion.algorithms.query.metafunctions.none.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">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="id1146099"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</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.algorithms.query.metafunctions.none.expression_semantics"></a><h6>
|
||||
<a name="id1146230"></a>
|
||||
<a href="none.html#fusion.algorithms.query.metafunctions.none.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a> given a sequence of type
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code> and a unary
|
||||
<a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
|
||||
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.complexity"></a><h6>
|
||||
<a name="id1146397"></a>
|
||||
<a href="none.html#fusion.algorithms.query.metafunctions.none.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.query.metafunctions.none.header"></a><h6>
|
||||
<a name="id1146425"></a>
|
||||
<a href="none.html#fusion.algorithms.query.metafunctions.none.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="all.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,72 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Transformation</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../algorithms.html" title="Algorithms">
|
||||
<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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.algorithms.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="../../images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top">
|
||||
<p>
|
||||
</p>
|
||||
<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>
|
||||
<p>
|
||||
</p>
|
||||
</td></tr>
|
||||
</table></div>
|
||||
<a name="fusion.algorithms.transformation.header"></a><h4>
|
||||
<a name="id1148928"></a>
|
||||
<a href="transformation.html#fusion.algorithms.transformation.header">Header</a>
|
||||
</h4>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,60 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Functions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../transformation.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../transformation.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,140 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>clear</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.description"></a><h6>
|
||||
<a name="id1174309"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
<a href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a> returns an empty sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.synposis"></a><h6>
|
||||
<a name="id1174353"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1174491"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.functions.clear.expression_semantics"></a><h6>
|
||||
<a name="id1174584"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Expression Semantics</strong></span>: Returns a sequence
|
||||
with no elements.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.complexity"></a><h6>
|
||||
<a name="id1174670"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.header"></a><h6>
|
||||
<a name="id1174698"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.functions.clear.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.clear.example"></a><h6>
|
||||
<a name="id1174792"></a>
|
||||
<a href="clear.html#fusion.algorithms.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"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,208 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>erase</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.description"></a><h6>
|
||||
<a name="id1174940"></a>
|
||||
<a href="erase.html#fusion.algorithms.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.algorithms.transformation.functions.erase.synposis"></a><h6>
|
||||
<a name="id1174970"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.functions.erase.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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> <a href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</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">type</span> <span class="identifier">erase</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it1</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</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">>::</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">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it1</span><span class="special">,</span> <span class="identifier">Last</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it2</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1175377"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">it1</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">it2</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
after <code class="computeroutput"><span class="identifier">it1</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.expression_semantics"></a><h6>
|
||||
<a name="id1175579"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.functions.erase.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
except the element at <code class="computeroutput"><span class="identifier">pos</span></code>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, with
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
in their original order, except those in the range [<code class="computeroutput"><span class="identifier">first</span></code>,<code class="computeroutput"><span class="identifier">last</span></code>).
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.complexity"></a><h6>
|
||||
<a name="id1175808"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.functions.erase.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.header"></a><h6>
|
||||
<a name="id1175837"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.functions.erase.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.erase.example"></a><h6>
|
||||
<a name="id1175932"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.functions.erase.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><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">char</span><span class="special">></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"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,167 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>erase_key</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.description"></a><h6>
|
||||
<a name="id1176337"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For an <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a> <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
returns a <a href="../../../sequences/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.algorithms.transformation.functions.erase_key.synposis"></a><h6>
|
||||
<a name="id1176393"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1176545"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Key</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Key to erase
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.expression_semantics"></a><h6>
|
||||
<a name="id1176670"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="identifier">Key</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.complexity"></a><h6>
|
||||
<a name="id1176785"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.header"></a><h6>
|
||||
<a name="id1176814"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.erase_key.example"></a><h6>
|
||||
<a name="id1176909"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.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"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><a href="../../../sequences/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">>(</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="../../../sequences/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></a><span class="special"><</span><span class="keyword">long</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.description"></a><h6>
|
||||
<a name="id1149050"></a>
|
||||
<a href="filter.html#fusion.algorithms.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.algorithms.transformation.functions.filter.synopsis"></a><h6>
|
||||
<a name="id1149080"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.functions.filter.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1149243"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The type to retain
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.expression_semantics"></a><h6>
|
||||
<a name="id1149368"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.functions.filter.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
|
||||
to <code class="computeroutput"><a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.complexity"></a><h6>
|
||||
<a name="id1149558"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.functions.filter.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.header"></a><h6>
|
||||
<a name="id1149586"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.functions.filter.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.filter.example"></a><h6>
|
||||
<a name="id1149681"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.functions.filter.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</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">></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"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,167 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>filter_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.description"></a><h6>
|
||||
<a name="id1149922"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a given sequence, <a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></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 <code 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></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.synopsis"></a><h6>
|
||||
<a name="id1150002"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1150166"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</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.algorithms.transformation.functions.filter_if.expression_semantics"></a><h6>
|
||||
<a name="id1150298"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Pred</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
with types for which <code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
evaluates to <code 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></code>. The order of the retained elements
|
||||
is the same as in the original sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.complexity"></a><h6>
|
||||
<a name="id1150444"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.header"></a><h6>
|
||||
<a name="id1150473"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.filter_if.example"></a><h6>
|
||||
<a name="id1150567"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</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">></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"><code class="computeroutput"><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">is_integral</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,185 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>insert</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.description"></a><h6>
|
||||
<a name="id1177093"></a>
|
||||
<a href="insert.html#fusion.algorithms.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.algorithms.transformation.functions.insert.synposis"></a><h6>
|
||||
<a name="id1177123"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.functions.insert.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1177290"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">pos</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/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>
|
||||
<code class="computeroutput"><span class="identifier">t</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The value to insert
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.expression_semantics"></a><h6>
|
||||
<a name="id1177456"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.functions.insert.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
in their original order, and a new element with the type and value of
|
||||
<code class="computeroutput"><span class="identifier">t</span></code> inserted at iterator
|
||||
<code class="computeroutput"><span class="identifier">pos</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.complexity"></a><h6>
|
||||
<a name="id1177593"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.functions.insert.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.header"></a><h6>
|
||||
<a name="id1177621"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.functions.insert.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.insert.example"></a><h6>
|
||||
<a name="id1177716"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.functions.insert.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></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"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,188 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>insert_range</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.description"></a><h6>
|
||||
<a name="id1177977"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.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.algorithms.transformation.functions.insert_range.synposis"></a><h6>
|
||||
<a name="id1178008"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special"><</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">>::</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">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</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="keyword">const</span><span class="special">&</span> <span class="identifier">range</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1178248"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">pos</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/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>
|
||||
<code class="computeroutput"><span class="identifier">range</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.functions.insert_range.expression_semantics"></a><h6>
|
||||
<a name="id1178421"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
and the elements of <code class="computeroutput"><span class="identifier">range</span></code>
|
||||
inserted at iterator <code class="computeroutput"><span class="identifier">pos</span></code>.
|
||||
All elements retaining their ordering from the orignal sequences.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.complexity"></a><h6>
|
||||
<a name="id1178562"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.header"></a><h6>
|
||||
<a name="id1178590"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.insert_range.example"></a><h6>
|
||||
<a name="id1178684"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">></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"><code class="computeroutput"><span class="identifier">insert_range</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,166 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>join</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.join.description"></a><h6>
|
||||
<a name="id1178977"></a>
|
||||
<a href="join.html#fusion.algorithms.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.algorithms.transformation.functions.join.synopsis"></a><h6>
|
||||
<a name="id1179007"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.functions.join.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></a><span class="special"><</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">>::</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">&</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">RhSequence</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1179190"></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>
|
||||
<code class="computeroutput"><span class="identifier">lhs</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">rhs</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.functions.join.expression_semantics"></a><h6>
|
||||
<a name="id1179323"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.functions.join.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">lhs</span></code>
|
||||
followed by all the elements of <code class="computeroutput"><span class="identifier">rhs</span></code>.
|
||||
The order of th elements is preserved.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.join.complexity"></a><h6>
|
||||
<a name="id1179439"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.functions.join.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.join.header"></a><h6>
|
||||
<a name="id1179468"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.functions.join.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.join.example"></a><h6>
|
||||
<a name="id1179562"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.functions.join.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></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="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></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"><code class="computeroutput"><span class="identifier">join</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.description"></a><h6>
|
||||
<a name="id1180944"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.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.algorithms.transformation.functions.pop_back.synopsis"></a><h6>
|
||||
<a name="id1180973"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1181111"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.functions.pop_back.expression_semantics"></a><h6>
|
||||
<a name="id1181204"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
except the last element. The elements in the new sequence are in the
|
||||
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.complexity"></a><h6>
|
||||
<a name="id1181312"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.header"></a><h6>
|
||||
<a name="id1181340"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_back.example"></a><h6>
|
||||
<a name="id1181435"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,142 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>pop_front</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.description"></a><h6>
|
||||
<a name="id1181592"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.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.algorithms.transformation.functions.pop_front.synopsis"></a><h6>
|
||||
<a name="id1181599"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1181759"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.functions.pop_front.expression_semantics"></a><h6>
|
||||
<a name="id1181852"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
except the first element. The elements in the new sequence are in the
|
||||
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.complexity"></a><h6>
|
||||
<a name="id1181960"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.header"></a><h6>
|
||||
<a name="id1181988"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.pop_front.example"></a><h6>
|
||||
<a name="id1182083"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.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"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,163 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>push_back</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.description"></a><h6>
|
||||
<a name="id1182247"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with an element added at the end.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.synopsis"></a><h6>
|
||||
<a name="id1182254"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1182459"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">t</span></code>
|
||||
</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.algorithms.transformation.functions.push_back.expression_semantics"></a><h6>
|
||||
<a name="id1182584"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
and new element <code class="computeroutput"><span class="identifier">t</span></code> appended
|
||||
to the end. The elements are in the same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.complexity"></a><h6>
|
||||
<a name="id1182711"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.header"></a><h6>
|
||||
<a name="id1182740"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.push_back.example"></a><h6>
|
||||
<a name="id1182834"></a>
|
||||
<a href="push_back.html#fusion.algorithms.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"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,164 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>push_front</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.description"></a><h6>
|
||||
<a name="id1183026"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns a new sequence with an element added at the beginning.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.synopsis"></a><h6>
|
||||
<a name="id1183033"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1183238"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">t</span></code>
|
||||
</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.algorithms.transformation.functions.push_front.expression_semantics"></a><h6>
|
||||
<a name="id1183363"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
and new element <code class="computeroutput"><span class="identifier">t</span></code> appended
|
||||
to the beginning. The elements are in the same order as they were in
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.complexity"></a><h6>
|
||||
<a name="id1183493"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.header"></a><h6>
|
||||
<a name="id1183521"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.push_front.example"></a><h6>
|
||||
<a name="id1183616"></a>
|
||||
<a href="push_front.html#fusion.algorithms.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"><code class="computeroutput"><span class="identifier">push_front</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.description"></a><h6>
|
||||
<a name="id1171926"></a>
|
||||
<a href="remove.html#fusion.algorithms.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.algorithms.transformation.functions.remove.synopsis"></a><h6>
|
||||
<a name="id1171955"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.functions.remove.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1172118"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Type to remove
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.expression_semantics"></a><h6>
|
||||
<a name="id1172244"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.functions.remove.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
in their original order, except those of type <code class="computeroutput"><span class="identifier">T</span></code>.
|
||||
Equivalent to <code class="computeroutput"><a href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.complexity"></a><h6>
|
||||
<a name="id1172434"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.functions.remove.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.header"></a><h6>
|
||||
<a name="id1172463"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.functions.remove.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.remove.example"></a><h6>
|
||||
<a name="id1172558"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.functions.remove.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></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"><code class="computeroutput"><span class="identifier">remove</span></code></a><span class="special"><</span><span class="keyword">double</span><span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,166 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.description"></a><h6>
|
||||
<a name="id1172756"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.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 <code class="computeroutput"><span class="keyword">true</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.synopsis"></a><h6>
|
||||
<a name="id1172795"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1172959"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</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.algorithms.transformation.functions.remove_if.expression_semantics"></a><h6>
|
||||
<a name="id1173092"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Pred</span><span class="special">>(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
in their original order, except those elements with types for which
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code> evaluates to <code 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></code>. Equivalent to <code class="computeroutput"><a href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a><span class="special"><</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"><</span><span class="identifier">Pred</span><span class="special">></span>
|
||||
<span class="special">>(</span><span class="identifier">seq</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.complexity"></a><h6>
|
||||
<a name="id1173310"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.header"></a><h6>
|
||||
<a name="id1173338"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.remove_if.example"></a><h6>
|
||||
<a name="id1173433"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">></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"><code class="computeroutput"><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">is_floating_point</span><span class="special"><</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">>(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,185 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>replace</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="transform.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.description"></a><h6>
|
||||
<a name="id1152497"></a>
|
||||
<a href="replace.html#fusion.algorithms.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.algorithms.transformation.functions.replace.synopsis"></a><h6>
|
||||
<a name="id1152526"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.functions.replace.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">new_value</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1152741"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>, <code class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">old_value</span></code>
|
||||
is a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
|
||||
for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">seq</span></code> with type
|
||||
convertible to <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">old_value</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Value to replace
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">new_value</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Replacement value
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.expression_semantics"></a><h6>
|
||||
<a name="id1152962"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.functions.replace.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
|
||||
all the values of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned
|
||||
to elements with the same type and equal to <code class="computeroutput"><span class="identifier">old_value</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.complexity"></a><h6>
|
||||
<a name="id1153100"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.functions.replace.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.header"></a><h6>
|
||||
<a name="id1153128"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.functions.replace.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.replace.example"></a><h6>
|
||||
<a name="id1153223"></a>
|
||||
<a href="replace.html#fusion.algorithms.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"><code class="computeroutput"><span class="identifier">replace</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="transform.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,194 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>replace_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.description"></a><h6>
|
||||
<a name="id1153400"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Replaces each element of a given sequence for which an unary function
|
||||
object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>
|
||||
replaced with a new value.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.synopsis"></a><h6>
|
||||
<a name="id1170916"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special"><</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">>::</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">&</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">&</span> <span class="identifier">new_value</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1171144"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A function object for which <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
|
||||
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">new_value</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Replacement value
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.expression_semantics"></a><h6>
|
||||
<a name="id1171356"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
|
||||
with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned
|
||||
to each element for which <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.complexity"></a><h6>
|
||||
<a name="id1171505"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.header"></a><h6>
|
||||
<a name="id1171533"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.replace_if.example"></a><h6>
|
||||
<a name="id1171628"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.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"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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"><code class="computeroutput"><span class="identifier">replace_if</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.description"></a><h6>
|
||||
<a name="id1173655"></a>
|
||||
<a href="reverse.html#fusion.algorithms.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.algorithms.transformation.functions.reverse.synposis"></a><h6>
|
||||
<a name="id1173684"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.synposis">Synposis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></code></a><span class="special"><</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">>::</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">&</span> <span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1173822"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.functions.reverse.expression_semantics"></a><h6>
|
||||
<a name="id1173916"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
|
||||
Sequence">Bidirectional
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
|
||||
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
in reverse order.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.complexity"></a><h6>
|
||||
<a name="id1174013"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.header"></a><h6>
|
||||
<a name="id1174041"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.reverse.example"></a><h6>
|
||||
<a name="id1174136"></a>
|
||||
<a href="reverse.html#fusion.algorithms.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"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,299 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>transform</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.description"></a><h6>
|
||||
<a name="id1150832"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
|
||||
<a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> <code class="computeroutput"><span class="identifier">F</span></code>, <code class="computeroutput"><span class="identifier">transform</span></code> returns a new sequence with
|
||||
elements created by applying <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
to each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.unary_version_synopsis"></a><h6>
|
||||
<a name="id1150921"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.unary_version_synopsis">Unary
|
||||
version synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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> <a href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</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">type</span> <span class="identifier">transform</span><span class="special">(</span>
|
||||
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&</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="id1151100"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> where <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression for each
|
||||
element <code class="computeroutput"><span class="identifier">e</span></code> of <code class="computeroutput"><span class="identifier">seq</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Transformation function
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.expression_semantics"></a><h6>
|
||||
<a name="id1151277"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code>
|
||||
within <code class="computeroutput"><span class="identifier">seq</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.binary_version_synopsis"></a><h6>
|
||||
<a name="id1151418"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.binary_version_synopsis">Binary
|
||||
version synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</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">>::</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">&</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&</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="id1151652"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq1</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">seq2</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> where <code 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></code> is a valid expression for each
|
||||
pair of elements <code class="computeroutput"><span class="identifier">e1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">e2</span></code> of <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code>
|
||||
respectively
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Transformation function
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
|
||||
the return values of <code 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></code> for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> and <code class="computeroutput"><span class="identifier">e2</span></code>
|
||||
within <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code> respectively.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.complexity"></a><h6>
|
||||
<a name="id1152001"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.header"></a><h6>
|
||||
<a name="id1152029"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.functions.transform.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.transform.example"></a><h6>
|
||||
<a name="id1152124"></a>
|
||||
<a href="transform.html#fusion.algorithms.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">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">T</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">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"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,153 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>zip</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="join.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.functions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.description"></a><h6>
|
||||
<a name="id1179844"></a>
|
||||
<a href="zip.html#fusion.algorithms.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.algorithms.transformation.functions.zip.synopsis"></a><h6>
|
||||
<a name="id1179874"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.functions.zip.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">typename</span> <a href="../metafunctions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></code></a><span class="special"><</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">>::</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">&</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&</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">&</span> <span class="identifier">seqN</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id1180124"></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>
|
||||
<code class="computeroutput"><span class="identifier">seq1</span></code> to <code class="computeroutput"><span class="identifier">seqN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Each sequence is a model of <a href="../../../sequences/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.algorithms.transformation.functions.zip.expression_semantics"></a><h6>
|
||||
<a name="id1180229"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.functions.zip.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></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"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
tuples of elements from sequences <code class="computeroutput"><span class="identifier">seq1</span></code>
|
||||
to <code class="computeroutput"><span class="identifier">seqN</span></code>. For example,
|
||||
applying zip to tuples <code 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></code>
|
||||
and <code 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></code>
|
||||
would return <code 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></code>
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.complexity"></a><h6>
|
||||
<a name="id1180501"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.functions.zip.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant. Returns a view which is lazily evaluated.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.header"></a><h6>
|
||||
<a name="id1180529"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.functions.zip.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></span>
|
||||
</pre>
|
||||
<a name="fusion.algorithms.transformation.functions.zip.example"></a><h6>
|
||||
<a name="id1180623"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.functions.zip.example">Example</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></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="../../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">></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"><code class="computeroutput"><span class="identifier">zip</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="join.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,60 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Metafunctions</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/push_front.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.algorithms.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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="functions/push_front.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,134 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>clear</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.description"></a><h6>
|
||||
<a name="id1206067"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.synopsis"></a><h6>
|
||||
<a name="id1206112"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></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="id1206202"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.expression_semantics"></a><h6>
|
||||
<a name="id1206287"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns an empty sequence.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.complexity"></a><h6>
|
||||
<a name="id1206386"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.clear.header"></a><h6>
|
||||
<a name="id1206414"></a>
|
||||
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reverse.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,191 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>erase</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.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"><code class="computeroutput"><span class="identifier">erase</span></code></a>, given the input sequence
|
||||
and range delimiting iterator types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.description"></a><h6>
|
||||
<a name="id1206551"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.description">Description</a>
|
||||
</h6>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.synopsis"></a><h6>
|
||||
<a name="id1206558"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1206703"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">It1</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">It2</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/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.algorithms.transformation.metafunctions.erase.expression_semantics"></a><h6>
|
||||
<a name="id1206876"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
|
||||
the element at <code class="computeroutput"><span class="identifier">It1</span></code> removed.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<a href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
|
||||
the elements between <code class="computeroutput"><span class="identifier">It1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">It2</span></code> removed.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.complexity"></a><h6>
|
||||
<a name="id1207111"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase.header"></a><h6>
|
||||
<a name="id1207139"></a>
|
||||
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="clear.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,158 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>erase_key</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.description"></a><h6>
|
||||
<a name="id1207257"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a>, given the sequence
|
||||
and key types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.synopsis"></a><h6>
|
||||
<a name="id1207304"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1207408"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Key</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Key type
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
|
||||
<a name="id1207533"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>,
|
||||
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.complexity"></a><h6>
|
||||
<a name="id1207666"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.erase_key.header"></a><h6>
|
||||
<a name="id1207673"></a>
|
||||
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,160 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>filter</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.description"></a><h6>
|
||||
<a name="id1183824"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></a> given the sequence type
|
||||
and type to retain.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.synopsis"></a><h6>
|
||||
<a name="id1183869"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1183974"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Type to retain
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.expression_semantics"></a><h6>
|
||||
<a name="id1184100"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
that are of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
|
||||
to <code class="computeroutput"><a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</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"><</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">></span> <span class="special">>::</span><span class="identifier">type</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.complexity"></a><h6>
|
||||
<a name="id1184330"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter.header"></a><h6>
|
||||
<a name="id1184337"></a>
|
||||
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../metafunctions.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,161 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>filter_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if.description"></a><h6>
|
||||
<a name="id1184473"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></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.algorithms.transformation.metafunctions.filter_if.synopsis"></a><h6>
|
||||
<a name="id1184527"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1184632"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</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.algorithms.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
|
||||
<a name="id1184764"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
|
||||
to <code 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></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if.complexity"></a><h6>
|
||||
<a name="id1184925"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.filter_if.header"></a><h6>
|
||||
<a name="id1184932"></a>
|
||||
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,179 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>insert</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.description"></a><h6>
|
||||
<a name="id1207811"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a>, given the sequence,
|
||||
position iterator and insertion types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.synopsis"></a><h6>
|
||||
<a name="id1207856"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1207977"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Position</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.expression_semantics"></a><h6>
|
||||
<a name="id1208142"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with an
|
||||
element of type <code class="computeroutput"><span class="identifier">T</span></code> inserted
|
||||
at position <code class="computeroutput"><span class="identifier">Position</span></code>
|
||||
in <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.complexity"></a><h6>
|
||||
<a name="id1208295"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert.header"></a><h6>
|
||||
<a name="id1208302"></a>
|
||||
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="erase_key.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,181 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>insert_range</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.description"></a><h6>
|
||||
<a name="id1208438"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a>, given the input
|
||||
sequence, position iterator and insertion range types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.synopsis"></a><h6>
|
||||
<a name="id1208485"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1208606"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Position</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
|
||||
Iterator">Forward
|
||||
Iterator</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Range</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
|
||||
<a name="id1208781"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements of <code class="computeroutput"><span class="identifier">Range</span></code> inserted
|
||||
at position <code class="computeroutput"><span class="identifier">Position</span></code>
|
||||
into <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.complexity"></a><h6>
|
||||
<a name="id1208935"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.insert_range.header"></a><h6>
|
||||
<a name="id1208964"></a>
|
||||
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,93 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>join</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join.description"></a><h6>
|
||||
<a name="id1209077"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result of joining 2 sequences, given the sequence types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join.synopsis"></a><h6>
|
||||
<a name="id1209106"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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.algorithms.transformation.metafunctions.join.expression_semantics"></a><h6>
|
||||
<a name="id1209222"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></a><span class="special"><</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">LhSequence</span></code>
|
||||
followed by the elements of <code class="computeroutput"><span class="identifier">RhSequence</span></code>.
|
||||
The order of the elements in the 2 sequences is preserved.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join.complexity"></a><h6>
|
||||
<a name="id1209354"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.join.header"></a><h6>
|
||||
<a name="id1209382"></a>
|
||||
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="insert_range.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,138 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>pop_back</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.description"></a><h6>
|
||||
<a name="id1210085"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.synopsis"></a><h6>
|
||||
<a name="id1210131"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></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="id1210211"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
|
||||
<a name="id1210300"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
except the last element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.complexity"></a><h6>
|
||||
<a name="id1210398"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_back.header"></a><h6>
|
||||
<a name="id1210405"></a>
|
||||
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="zip.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,138 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>pop_front</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.description"></a><h6>
|
||||
<a name="id1210525"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.synopsis"></a><h6>
|
||||
<a name="id1210566"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></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="id1210646"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
|
||||
<a name="id1210734"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
except the first element.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.complexity"></a><h6>
|
||||
<a name="id1210833"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.pop_front.header"></a><h6>
|
||||
<a name="id1210840"></a>
|
||||
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_back.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,159 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>push_back</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.description"></a><h6>
|
||||
<a name="id1210960"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a>, given the types of
|
||||
the input sequence and element to push.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.synopsis"></a><h6>
|
||||
<a name="id1211001"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1211095"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.expression_semantics"></a><h6>
|
||||
<a name="id1211214"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and an element of type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
added to the end.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.complexity"></a><h6>
|
||||
<a name="id1211330"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_back.header"></a><h6>
|
||||
<a name="id1211337"></a>
|
||||
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="pop_front.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,159 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>push_front</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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="../../../tuples.html" title="Tuples">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuples.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.description"></a><h6>
|
||||
<a name="id1211457"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></a>, given the types
|
||||
of the input sequence and element to push.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.synopsis"></a><h6>
|
||||
<a name="id1211498"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1211592"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.expression_semantics"></a><h6>
|
||||
<a name="id1211711"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
and an element of type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
added to the beginning.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.complexity"></a><h6>
|
||||
<a name="id1211827"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.push_front.header"></a><h6>
|
||||
<a name="id1211853"></a>
|
||||
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="push_back.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuples.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,160 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.description"></a><h6>
|
||||
<a name="id1186835"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></a>, given the sequence and
|
||||
removal types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.synopsis"></a><h6>
|
||||
<a name="id1186879"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1186985"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Any type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Remove elements of this type
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.expression_semantics"></a><h6>
|
||||
<a name="id1187110"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
not of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
|
||||
to <code class="computeroutput"><a href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special"><</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"><</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">></span> <span class="special">>::</span><span class="identifier">type</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.complexity"></a><h6>
|
||||
<a name="id1187340"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove.header"></a><h6>
|
||||
<a name="id1187347"></a>
|
||||
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,161 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if.description"></a><h6>
|
||||
<a name="id1187483"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></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.algorithms.transformation.metafunctions.remove_if.synopsis"></a><h6>
|
||||
<a name="id1187537"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1187642"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Pred</span></code>
|
||||
</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 <code 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></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
|
||||
<a name="id1187803"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
|
||||
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
|
||||
to <code 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></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if.complexity"></a><h6>
|
||||
<a name="id1187963"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.remove_if.header"></a><h6>
|
||||
<a name="id1187970"></a>
|
||||
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,157 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>replace</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="transform.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.description"></a><h6>
|
||||
<a name="id1185672"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a>, given the types of
|
||||
the input sequence and element to replace.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.synopsis"></a><h6>
|
||||
<a name="id1185717"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1185822"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</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.algorithms.transformation.metafunctions.replace.expression_semantics"></a><h6>
|
||||
<a name="id1185948"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a href="../functions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.complexity"></a><h6>
|
||||
<a name="id1186074"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace.header"></a><h6>
|
||||
<a name="id1186082"></a>
|
||||
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="transform.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,178 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>replace_if</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if.description"></a><h6>
|
||||
<a name="id1186217"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></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.algorithms.transformation.metafunctions.replace_if.synopsis"></a><h6>
|
||||
<a name="id1186271"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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="id1186390"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</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>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>
|
||||
</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.algorithms.transformation.metafunctions.replace_if.expression_semantics"></a><h6>
|
||||
<a name="id1186556"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
|
||||
<a href="../functions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if.complexity"></a><h6>
|
||||
<a name="id1186690"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.replace_if.header"></a><h6>
|
||||
<a name="id1186720"></a>
|
||||
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="replace.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,137 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>reverse</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.description"></a><h6>
|
||||
<a name="id1188106"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result type of <a href="../functions/reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a>, given the input sequence
|
||||
type.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.synopsis"></a><h6>
|
||||
<a name="id1188151"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
|
||||
<span class="special">></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="id1188241"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/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.algorithms.transformation.metafunctions.reverse.expression_semantics"></a><h6>
|
||||
<a name="id1188335"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
|
||||
Sequence">Bidirectional
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
|
||||
elements in the reverse order to <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.complexity"></a><h6>
|
||||
<a name="id1205924"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.reverse.header"></a><h6>
|
||||
<a name="id1205931"></a>
|
||||
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,161 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>transform</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.description"></a><h6>
|
||||
<a name="id1185068"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.description">Description</a>
|
||||
</h6>
|
||||
<p>
|
||||
Returns the result of type <a href="../functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a>, given the sequence
|
||||
and <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> types.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.synopsis"></a><h6>
|
||||
<a name="id1185122"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">struct</span> <span class="identifier">transform</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="id1185227"></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>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Operation's argument
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</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>
|
||||
Transformation function object
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.expression_semantics"></a><h6>
|
||||
<a name="id1185361"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with values
|
||||
<code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special"><</span><span class="identifier">E</span><span class="special">>::</span><span class="identifier">type</span></code> for each element type <code class="computeroutput"><span class="identifier">E</span></code> in <code class="computeroutput"><span class="identifier">Sequence</span></code>.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.complexity"></a><h6>
|
||||
<a name="id1185529"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.transform.header"></a><h6>
|
||||
<a name="id1185536"></a>
|
||||
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="filter_if.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,100 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>zip</title>
|
||||
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="join.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="fusion.algorithms.transformation.metafunctions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.zip.description"></a><h6>
|
||||
<a name="id1209495"></a>
|
||||
<a href="zip.html#fusion.algorithms.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.algorithms.transformation.metafunctions.zip.synopsis"></a><h6>
|
||||
<a name="id1209525"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.synopsis">Synopsis</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</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">></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.algorithms.transformation.metafunctions.zip.expression_semantics"></a><h6>
|
||||
<a name="id1209661"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<a href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></code></a><span class="special"><</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">>::</span><span class="identifier">type</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Return type</strong></span>: A model of the most restrictive
|
||||
traversal category of sequences <code class="computeroutput"><span class="identifier">Sequence1</span></code>
|
||||
to <code class="computeroutput"><span class="identifier">SequenceN</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Semantics</strong></span>: Return a sequence containing
|
||||
tuples of elements from each sequence. For example, applying zip to tuples
|
||||
<code 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></code>
|
||||
and <code 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></code>
|
||||
would return <code 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></code>
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.zip.complexity"></a><h6>
|
||||
<a name="id1209941"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.complexity">Complexity</a>
|
||||
</h6>
|
||||
<p>
|
||||
Constant.
|
||||
</p>
|
||||
<a name="fusion.algorithms.transformation.metafunctions.zip.header"></a><h6>
|
||||
<a name="id1209969"></a>
|
||||
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.header">Header</a>
|
||||
</h6>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">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">></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="join.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,55 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Change log</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../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 <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>
|
||||
support.
|
||||
</li>
|
||||
<li>
|
||||
Nov 17, 2006: Added <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></code>
|
||||
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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="notes.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,542 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Extension</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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="tuples/pairs.html" title="Pairs">
|
||||
<link rel="next" href="functional.html" title="Functional">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="tuples/pairs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="functional.html"><img src="../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.extension"></a><a href="extension.html" title="Extension">Extension</a></h2></div></div></div>
|
||||
<p>
|
||||
The Fusion library is designed to be extensible, new sequences types can easily
|
||||
be added. In fact, the library support for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequences is entirely provided using the extension mechanism.
|
||||
</p>
|
||||
<p>
|
||||
The process for adding a new sequence type to Fusion is:
|
||||
</p>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
Enable the <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
|
||||
mechanism used by Fusion for your sequence type
|
||||
</li>
|
||||
<li>
|
||||
Design an iterator type for the sequence
|
||||
</li>
|
||||
<li>
|
||||
Provide specialized behaviour for the intrinsic operations of the new Fusion
|
||||
sequence
|
||||
</li>
|
||||
</ol></div>
|
||||
<a name="fusion.extension.our_example"></a><h3>
|
||||
<a name="id1218124"></a>
|
||||
<a href="extension.html#fusion.extension.our_example">Our example</a>
|
||||
</h3>
|
||||
<p>
|
||||
In order to illustrate enabling a new sequence type for use with Fusion, we
|
||||
are going to use the type:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">example</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">example_struct</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="identifier">example_struct</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">&</span> <span class="identifier">n</span><span class="special">,</span>
|
||||
<span class="keyword">int</span> <span class="identifier">a</span><span class="special">)</span>
|
||||
<span class="special">:</span> <span class="identifier">name</span><span class="special">(</span><span class="identifier">n</span><span class="special">),</span> <span class="identifier">age</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span>
|
||||
<span class="special">{}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
We are going to pretend that this type has been provided by a 3rd party library,
|
||||
and therefore cannot be modified. We shall work through all the necessary steps
|
||||
to enable <code class="computeroutput"><span class="identifier">example_struct</span></code> to
|
||||
serve as an <a href="sequences/concepts/associative_sequence.html" title="Associative
|
||||
Sequence">Associative
|
||||
Sequence</a> as described in the <a href="quick_start.html" title="Quick Start">Quick
|
||||
Start</a> guide.
|
||||
</p>
|
||||
<a name="fusion.extension.enabling_tag_dispatching"></a><h3>
|
||||
<a name="id1218380"></a>
|
||||
<a href="extension.html#fusion.extension.enabling_tag_dispatching">Enabling Tag Dispatching</a>
|
||||
</h3>
|
||||
<p>
|
||||
The Fusion extensibility mechanism uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
|
||||
dispatching</em></span></a> to call the correct code for a given sequence
|
||||
type. In order to exploit the tag dispatching mechanism we must first declare
|
||||
a new tag type for the mechanism to use. For example:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">example</span> <span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">example_sequence_tag</span><span class="special">;</span> <span class="comment">// Only definition needed
|
||||
</span><span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
Next we need to enable the <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code>
|
||||
metafunction to return our newly chosen tag type for operations involving our
|
||||
sequence. This is done by specializing <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code>
|
||||
for our sequence type.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">support</span><span class="special">/</span><span class="identifier">tag_of_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">fusion</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">traits</span> <span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">example_struct</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}}}</span>
|
||||
</pre>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code> also has a second template argument,
|
||||
that can be used in conjuction with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
|
||||
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:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">sequence</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">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.extension.designing_a_suitable_iterator"></a><h3>
|
||||
<a name="id1218830"></a>
|
||||
<a href="extension.html#fusion.extension.designing_a_suitable_iterator">Designing a
|
||||
suitable iterator</a>
|
||||
</h3>
|
||||
<p>
|
||||
We need an iterator to describe positions, and provide access to the data within
|
||||
our sequence. As it is straightforward to do, we are going to provide a random
|
||||
access iterator in our example.
|
||||
</p>
|
||||
<p>
|
||||
We will use a simple design, in which the 2 members of <code class="computeroutput"><span class="identifier">example_struct</span></code>
|
||||
are given numbered indices, 0 for <code class="computeroutput"><span class="identifier">name</span></code>
|
||||
and 1 for <code class="computeroutput"><span class="identifier">age</span></code> respectively.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">Pos</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">example_struct_iterator</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">iterator_base</span><span class="special"><</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">Pos</span> <span class="special">>=</span><span class="number">0</span> <span class="special">&&</span> <span class="identifier">Pos</span> <span class="special"><</span> <span class="number">3</span><span class="special">);</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">Struct</span> <span class="identifier">struct_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="identifier">Pos</span><span class="special">></span> <span class="identifier">index</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">random_access_traversal_tag</span> <span class="identifier">category</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">example_struct_iterator</span><span class="special">(</span><span class="identifier">Struct</span><span class="special">&</span> <span class="identifier">str</span><span class="special">)</span>
|
||||
<span class="special">:</span> <span class="identifier">struct_</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span> <span class="special">{}</span>
|
||||
|
||||
<span class="identifier">Struct</span><span class="special">&</span> <span class="identifier">struct_</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
A quick summary of the details of our iterator:
|
||||
</p>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
The iterator is parameterized by the type it is iterating over, and the index
|
||||
of the current element.
|
||||
</li>
|
||||
<li>
|
||||
The typedefs <code class="computeroutput"><span class="identifier">struct_type</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">index</span></code> provide convenient
|
||||
access to information we will need later in the implementation.
|
||||
</li>
|
||||
<li>
|
||||
The typedef <code class="computeroutput"><span class="identifier">category</span></code> allows
|
||||
the <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><a href="support/category_of.html" title="category_of"><code class="computeroutput"><span class="identifier">category_of</span></code></a></code>
|
||||
metafunction to establish the traversal category of the iterator.
|
||||
</li>
|
||||
<li>
|
||||
The constructor stores a reference to the <code class="computeroutput"><span class="identifier">example_struct</span></code>
|
||||
being iterated over.
|
||||
</li>
|
||||
</ol></div>
|
||||
<p>
|
||||
We also need to enable <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
|
||||
dispatching</em></span></a> for our iterator type, with another specialization
|
||||
of <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
In isolation, the iterator implementation is pretty dry. Things should become
|
||||
clearer as we add features to our implementation.
|
||||
</p>
|
||||
<a name="fusion.extension.a_first_couple_of_instructive_features"></a><h3>
|
||||
<a name="id1219410"></a>
|
||||
<a href="extension.html#fusion.extension.a_first_couple_of_instructive_features">A first
|
||||
couple of instructive features</a>
|
||||
</h3>
|
||||
<p>
|
||||
To start with, we will get the <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a> metafunction working. To
|
||||
do this, we provide a specialization of the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span></code>
|
||||
template for our iterator's tag type.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">value_of_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="special">></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">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="special">></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>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
The implementation itself is pretty simple, it just uses 2 partial specializations
|
||||
to provide the type of the 2 different members of <code class="computeroutput"><span class="identifier">example_struct</span></code>,
|
||||
based on the index of the iterator.
|
||||
</p>
|
||||
<p>
|
||||
To understand how <code class="computeroutput"><span class="identifier">value_of_impl</span></code>
|
||||
is used by the library we will look at the implementation of <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a>:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a>
|
||||
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span>
|
||||
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
So <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a>
|
||||
uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
|
||||
to select an <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
|
||||
Metafunction Class</a> to provide its functionality. You will notice this
|
||||
pattern throughout the implementation of Fusion.
|
||||
</p>
|
||||
<p>
|
||||
Ok, lets enable dereferencing of our iterator. In this case we must provide
|
||||
a suitable specialization of <code class="computeroutput"><span class="identifier">deref_impl</span></code>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">deref_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span>
|
||||
<span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">>,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</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="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span>
|
||||
<span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">>,</span> <span class="keyword">int</span> <span class="keyword">const</span><span class="special">&,</span> <span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">it</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
The use of <code class="computeroutput"><span class="identifier">deref_impl</span></code> is very
|
||||
similar to that of <code class="computeroutput"><span class="identifier">value_of_impl</span></code>,
|
||||
but it also provides some runtime functionality this time via the <code class="computeroutput"><span class="identifier">call</span></code> static member function. To see how
|
||||
<code class="computeroutput"><span class="identifier">deref_impl</span></code> is used, lets have
|
||||
a look at the implementation of <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>
|
||||
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">deref_impl</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span>
|
||||
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="special">{};</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">>::</span><span class="identifier">type</span>
|
||||
<a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special"><</span><span class="identifier">Iterator</span><span class="special">></span> <span class="identifier">deref_meta</span><span class="special">;</span>
|
||||
<span class="keyword">return</span> <span class="identifier">deref_meta</span><span class="special">::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
So again <a href="iterators/metafunctions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></code></a> uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
|
||||
dispatching</em></span></a> in exactly the same way as the <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a> implementation. The runtime
|
||||
functionality used by <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> is provided by the <code class="computeroutput"><span class="identifier">call</span></code> static function of the selected <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
|
||||
Metafunction Class</a>.
|
||||
</p>
|
||||
<p>
|
||||
The actual implementation of <code class="computeroutput"><span class="identifier">deref_impl</span></code>
|
||||
is slightly more complex than that of <code class="computeroutput"><span class="identifier">value_of_impl</span></code>.
|
||||
We also need to implement the <code class="computeroutput"><span class="identifier">call</span></code>
|
||||
function, which returns a reference to the appropriate member of the underlying
|
||||
sequence. We also require a little bit of metaprogramming to return <code class="computeroutput"><span class="keyword">const</span></code> references if the underlying sequence
|
||||
is const.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top">
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
Although there is a fair amount of left to do to produce a fully fledged
|
||||
Fusion sequence, <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a> and <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> illustrate all the signficant
|
||||
concepts required. The remainder of the process is very repetitive, simply
|
||||
requiring implementation of a suitable <code class="computeroutput"><span class="identifier">xxxx_impl</span></code>
|
||||
for each feature <code class="computeroutput"><span class="identifier">xxxx</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
</td></tr>
|
||||
</table></div>
|
||||
<a name="fusion.extension.implementing_the_remaining_iterator_functionality"></a><h3>
|
||||
<a name="id1221456"></a>
|
||||
<a href="extension.html#fusion.extension.implementing_the_remaining_iterator_functionality">Implementing
|
||||
the remaining iterator functionality</a>
|
||||
</h3>
|
||||
<p>
|
||||
Ok, now we have seen the way <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a> and <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> work, everything else will work
|
||||
in pretty much the same way. Lets start with forward iteration, by providing
|
||||
a <code class="computeroutput"><span class="identifier">next_impl</span></code>:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">next_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">struct_type</span> <span class="identifier">struct_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">index</span> <span class="identifier">index</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">struct_type</span><span class="special">,</span> <span class="identifier">index</span><span class="special">::</span><span class="identifier">value</span> <span class="special">+</span> <span class="number">1</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">i</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">i</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
This should be very familiar from our <code class="computeroutput"><span class="identifier">deref_impl</span></code>
|
||||
implementation, we will be using this approach again and again now. Our design
|
||||
is simply to increment the <code class="computeroutput"><span class="identifier">index</span></code>
|
||||
counter to move on to the next element. The various other iterator manipulations
|
||||
we need to perform will all just involve simple calculations with the <code class="computeroutput"><span class="identifier">index</span></code> variables.
|
||||
</p>
|
||||
<p>
|
||||
We also need to provide a suitable <code class="computeroutput"><span class="identifier">equal_to_impl</span></code>
|
||||
so that iterators can be correctly compared. A <a href="iterators/concepts/bidirectional_iterator.html" title="Bidirectional
|
||||
Iterator">Bidirectional
|
||||
Iterator</a> will also need an implementation of <code class="computeroutput"><span class="identifier">prior_impl</span></code>.
|
||||
For a <a href="iterators/concepts/random_access_iterator.html" title="Random
|
||||
Access Iterator">Random
|
||||
Access Iterator</a> <code class="computeroutput"><span class="identifier">distance_impl</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">advance_impl</span></code> also need
|
||||
to be provided in order to satisfy the necessary complexity guarantees. As
|
||||
our iterator is a <a href="iterators/concepts/random_access_iterator.html" title="Random
|
||||
Access Iterator">Random
|
||||
Access Iterator</a> we will have to implement all of these functions.
|
||||
</p>
|
||||
<p>
|
||||
Full implementations of <code class="computeroutput"><span class="identifier">prior_impl</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">advance_impl</span></code>, <code class="computeroutput"><span class="identifier">distance_impl</span></code> and <code class="computeroutput"><span class="identifier">equal_to_impl</span></code>
|
||||
are provided in the example code.
|
||||
</p>
|
||||
<a name="fusion.extension.implementing_the_intrinsic_functions_of_the_sequence"></a><h3>
|
||||
<a name="id1222031"></a>
|
||||
<a href="extension.html#fusion.extension.implementing_the_intrinsic_functions_of_the_sequence">Implementing
|
||||
the intrinsic functions of the sequence</a>
|
||||
</h3>
|
||||
<p>
|
||||
In order that Fusion can correctly identify our sequence as a Fusion sequence,
|
||||
we need to enable <code class="computeroutput"><span class="identifier">is_sequence</span></code>
|
||||
for our sequence type. As usual we just create an <code class="computeroutput"><span class="identifier">impl</span></code>
|
||||
type specialized for our sequence tag:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_sequence_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
We've some similar formalities to complete, providing <code class="computeroutput"><span class="identifier">category_of_impl</span></code>
|
||||
so Fusion can correctly identify our sequence type, and <code class="computeroutput"><span class="identifier">is_view_impl</span></code>
|
||||
so Fusion can correctly identify our sequence as not being a <a href="sequences/views.html" title="Views">View</a>
|
||||
type. Implementations are provide in the example code.
|
||||
</p>
|
||||
<p>
|
||||
Now we've completed some formalities, on to more interesting features. Lets
|
||||
get <a href="sequences/intrinsics/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a> working so that we can get an
|
||||
iterator to start accessing the data in our sequence.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">begin_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="number">0</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
The implementation uses the same ideas we have applied throughout, in this
|
||||
case we are just creating one of the iterators we developed earlier, pointing
|
||||
to the first element in the sequence. The implementation of <a href="sequences/intrinsics/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a> is very similar, and is provided
|
||||
in the example code.
|
||||
</p>
|
||||
<p>
|
||||
For our <a href="sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> we will also need to implement <code class="computeroutput"><span class="identifier">size_impl</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">value_at_impl</span></code> and <code class="computeroutput"><span class="identifier">at_impl</span></code>.
|
||||
</p>
|
||||
<a name="fusion.extension.enabling_our_type_as_an_associative_container"></a><h3>
|
||||
<a name="id1222565"></a>
|
||||
<a href="extension.html#fusion.extension.enabling_our_type_as_an_associative_container">Enabling
|
||||
our type as an associative container</a>
|
||||
</h3>
|
||||
<p>
|
||||
In order for <code class="computeroutput"><span class="identifier">example_struct</span></code>
|
||||
to serve as an associative container, we need to enable 3 lookup features,
|
||||
<a href="sequences/intrinsics/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a>, <a href="sequences/intrinsics/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">value_at_key</span></code></a> and <a href="sequences/intrinsics/functions/has_key.html" title="has_key"><code class="computeroutput"><span class="identifier">has_key</span></code></a>. We also need to provide an
|
||||
implementation of the <code class="computeroutput"><span class="identifier">is_associative</span></code>
|
||||
trait so that our sequence can be correctly identified as an associative container.
|
||||
</p>
|
||||
<p>
|
||||
To implement <code class="computeroutput"><span class="identifier">at_key_impl</span></code> we
|
||||
need to associate the <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></code> and
|
||||
<code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></code> types described in the <a href="quick_start.html" title="Quick Start">Quick
|
||||
Start</a> guide with the appropriate members of <code class="computeroutput"><span class="identifier">example_struct</span></code>.
|
||||
Our implementation is as follows:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">at_key_impl</span><span class="special"><</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</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">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span>
|
||||
<span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>,</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</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="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span>
|
||||
<span class="identifier">is_const</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">>,</span>
|
||||
<span class="keyword">int</span> <span class="keyword">const</span><span class="special">&,</span>
|
||||
<span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">static</span> <span class="identifier">type</span>
|
||||
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&</span> <span class="identifier">seq</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
Its all very similar to the implementations we've seen previously, such as
|
||||
<code class="computeroutput"><span class="identifier">deref_impl</span></code> and <code class="computeroutput"><span class="identifier">value_of_impl</span></code>. Instead of identifying the
|
||||
members by index or position, we are now selecting them using the types <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span></code> and <code class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></code>. The
|
||||
implementations of <code class="computeroutput"><span class="identifier">value_at_key_impl</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">has_key_impl</span></code> are equally
|
||||
straightforward, and are provided in the example code, along with an implementation
|
||||
of <code class="computeroutput"><span class="identifier">is_associative_impl</span></code>.
|
||||
</p>
|
||||
<a name="fusion.extension.summary"></a><h3>
|
||||
<a name="id1240928"></a>
|
||||
<a href="extension.html#fusion.extension.summary">Summary</a>
|
||||
</h3>
|
||||
<p>
|
||||
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 a simple repeating
|
||||
pattern.
|
||||
</p>
|
||||
<p>
|
||||
The support for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
|
||||
sequences, and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> all use the same approach, and provide
|
||||
additional examples of the approach for a variety of types.
|
||||
</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="tuples/pairs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="functional.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,165 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Functional</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.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="extension.html" title="Extension">
|
||||
<link rel="next" href="functional/concepts.html" title="Concepts">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="extension.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="functional/concepts.html"><img src="../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.functional"></a><a href="functional.html" title="Functional">Functional</a></h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="functional/concepts.html">Concepts</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="functional/concepts/callable.html"> Callable Object</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/concepts/reg_callable.html"> Regular Callable
|
||||
Object</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/concepts/def_callable.html"> Deferred
|
||||
Callable Object</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/concepts/poly.html"> Polymorphic Function
|
||||
Object</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="functional/invocation.html">Invocation</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="functional/invocation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/invocation/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="functional/adapters.html"> Adapters</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="functional/adapters/fused.html">fused</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/fused_procedure.html">fused_procedure</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/fused_function_object.html">fused_function_object</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/unfused_generic.html">unfused_generic</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/unfused_lvalue_args.html">unfused_lvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/unfused_rvalue_args.html">unfused_rvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/adapters/unfused_typed.html">unfused_typed</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="functional/generation.html">Generation</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="functional/generation/functions.html">Functions</a></span></dt>
|
||||
<dt><span class="section"><a href="functional/generation/metafunctions.html">Metafunctions</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
<p>
|
||||
Components to call functions and function objects and to make Fusion code callable
|
||||
through a function object interface.
|
||||
</p>
|
||||
<a name="fusion.functional.header"></a><h3>
|
||||
<a name="id1241027"></a>
|
||||
<a href="functional.html#fusion.functional.header">Header</a>
|
||||
</h3>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">functional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.fused_and_unfused_forms"></a><h3>
|
||||
<a name="id1241101"></a>
|
||||
<a href="functional.html#fusion.functional.fused_and_unfused_forms">Fused and unfused
|
||||
forms</a>
|
||||
</h3>
|
||||
<p>
|
||||
What is a function call?
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">f</span> <span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">,</span><span class="identifier">c</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
It is a name and a tuple written next to each other, left-to-right.
|
||||
</p>
|
||||
<p>
|
||||
Although the C++ syntax does not allow to replace <code class="literal">(a,b,c)</code>
|
||||
with some Fusion <a href="sequences.html" title="Sequences">Sequence</a>, introducing
|
||||
yet another function provides a solution:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">my_sequence</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
Alternatively it is possible to apply a simple transformation to <code class="literal">f</code>
|
||||
in order to achieve the same effect:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">f</span> <span class="identifier">tuple</span> <span class="special"><=></span> f' <span class="special">(</span><span class="identifier">tuple</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
Now, <code class="literal">f'</code> is an unary function that takes the arguments to
|
||||
<code class="computeroutput"><span class="identifier">f</span></code> as a tuple; <code class="literal">f'</code>
|
||||
is the <span class="emphasis"><em>fused</em></span> form of <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
Reading the above equivalence right-to-left to get the inverse transformation,
|
||||
<code class="computeroutput"><span class="identifier">f</span></code> is the <span class="emphasis"><em>unfused</em></span>
|
||||
form of <code class="literal">f'</code>.
|
||||
</p>
|
||||
<a name="fusion.functional.calling_functions_and_function_objects"></a><h3>
|
||||
<a name="id1241336"></a>
|
||||
<a href="functional.html#fusion.functional.calling_functions_and_function_objects">Calling
|
||||
functions and function objects</a>
|
||||
</h3>
|
||||
<p>
|
||||
Having generic C++ code call back arbitrary functions provided by the client
|
||||
used to be a heavily repetitive task, as different functions can differ in
|
||||
arity, invocation syntax and other properties that might be part of the type.
|
||||
Transporting arguments as Fusion sequences and factoring out the invocation
|
||||
makes Fusion algorithms applicable to function arguments and also reduces the
|
||||
problem to one invocation syntax and a fixed arity (instead of an arbitrary
|
||||
number of arbitrary arguments times several syntactic variants times additional
|
||||
properties).
|
||||
</p>
|
||||
<p>
|
||||
Transforming an unfused function into its fused counterpart allows n-ary calls
|
||||
from an algorithm that invokes an unary <a href="functional/concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> with <a href="sequences.html" title="Sequences">Sequence</a>
|
||||
arguments.
|
||||
</p>
|
||||
<p>
|
||||
The library provides several function templates to invoke different kinds of
|
||||
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.
|
||||
</p>
|
||||
<a name="fusion.functional.making_fusion_code_callable_through_a_function_object_interface"></a><h3>
|
||||
<a name="id1241396"></a>
|
||||
<a href="functional.html#fusion.functional.making_fusion_code_callable_through_a_function_object_interface">Making
|
||||
Fusion code callable through a function object interface</a>
|
||||
</h3>
|
||||
<p>
|
||||
Transforming a fused function into its unfused counterpart allows to create
|
||||
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.
|
||||
</p>
|
||||
<p>
|
||||
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 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">The
|
||||
Forwarding Problem</a>. Every generic variant has a corresponding generator
|
||||
function template that returns an adapter instance for the given argument.
|
||||
</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="extension.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="functional/concepts.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,52 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Adapters</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../functional.html" title="Functional">
|
||||
<link rel="prev" href="invocation/metafunctions/invoke_fobj.html" title="
|
||||
invoke_function_object">
|
||||
<link rel="next" href="adapters/fused.html" title="fused">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="invocation/metafunctions/invoke_fobj.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="adapters/fused.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.functional.adapters"></a><a href="adapters.html" title=" Adapters"> Adapters</a></h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="adapters/fused.html">fused</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/fused_procedure.html">fused_procedure</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/fused_function_object.html">fused_function_object</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/unfused_generic.html">unfused_generic</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/unfused_lvalue_args.html">unfused_lvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/unfused_rvalue_args.html">unfused_rvalue_args</a></span></dt>
|
||||
<dt><span class="section"><a href="adapters/unfused_typed.html">unfused_typed</a></span></dt>
|
||||
</dl></div>
|
||||
<p>
|
||||
Function object templates to transform a particular target function.
|
||||
</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="invocation/metafunctions/invoke_fobj.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="adapters/fused.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,249 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fused</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="../adapters.html" title=" Adapters">
|
||||
<link rel="next" href="fused_procedure.html" title="fused_procedure">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../adapters.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="fused_procedure.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.fused"></a><a href="fused.html" title="fused">fused</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.fused.description"></a><h5>
|
||||
<a name="id1247382"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for <a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a> target functions. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a> that contains the arguments for the target function.
|
||||
</p>
|
||||
<p>
|
||||
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 <code class="literal">operator()</code> can be used
|
||||
for a target function object that is const or, if the target function object
|
||||
is held by value, the adapter is const - these semantics have nothing to
|
||||
do with the const qualification of a member function, which is referring
|
||||
to the type of object pointed to by <code class="literal">this</code> which is specified
|
||||
with the first element in the sequence passed to the adapter).
|
||||
</p>
|
||||
<p>
|
||||
If the target function is a pointer to a class members, the corresponding
|
||||
object can be specified as a reference, pointer, or smart pointer. In case
|
||||
of the latter, a freestanding <code class="literal">get_pointer</code> function must
|
||||
be defined (Boost provides this function for <code class="literal">std::auto_ptr</code>
|
||||
and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.fused.header"></a><h5>
|
||||
<a name="id1247502"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused.synopsis"></a><h5>
|
||||
<a name="id1247594"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused.template_parameters"></a><h5>
|
||||
<a name="id1247665"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">Function</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A <a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused.model_of"></a><h5>
|
||||
<a name="id1247767"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.model_of">Model of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const qualified <a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a> type or reference type thereof
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt>
|
||||
<dd>
|
||||
An object convertible to <code class="computeroutput"><span class="identifier">R</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
|
||||
<dd>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
|
||||
are accepted by <code class="computeroutput"><span class="identifier">r</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
|
||||
<dd>
|
||||
An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></code>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.fused.expression_semantics"></a><h5>
|
||||
<a name="id1247949"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <code class="computeroutput"><span class="identifier">r</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <code class="computeroutput"><span class="identifier">r</span></code> with the
|
||||
elements in <code class="computeroutput"><span class="identifier">s</span></code> as
|
||||
its arguments.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused.example"></a><h5>
|
||||
<a name="id1248175"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">fused</span><span class="special"><</span> <a href="http://www.sgi.com/tech/stl/plus.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span></code></a><span class="special"><</span><span class="keyword">long</span><span class="special">></span> <span class="special">></span> <span class="identifier">f</span><span class="special">;</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">f</span><span class="special">(</span><a href="../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2l</span><span class="special">))</span> <span class="special">==</span> <span class="number">3l</span><span class="special">);</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused.see_also"></a><h5>
|
||||
<a name="id1248332"></a>
|
||||
<a href="fused.html#fusion.functional.adapters.fused.see_also">See also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a></li>
|
||||
<li><a href="fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a></li>
|
||||
<li><a href="../invocation/functions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../adapters.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="fused_procedure.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,272 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fused_function_object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="fused_procedure.html" title="fused_procedure">
|
||||
<link rel="next" href="unfused_generic.html" title="unfused_generic">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused_procedure.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_generic.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.fused_function_object"></a><a href="fused_function_object.html" title="fused_function_object">fused_function_object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.fused_function_object.description"></a><h5>
|
||||
<a name="id1249911"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for a <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a> that contains the arguments for the target function.
|
||||
</p>
|
||||
<p>
|
||||
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 <code class="literal">operator()</code> can be used
|
||||
for an target function object that is const or, if the target function
|
||||
object is held by value, the adapter is const).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.fused_function_object.header"></a><h5>
|
||||
<a name="id1249980"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_function_object.synopsis"></a><h5>
|
||||
<a name="id1250074"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused_function_object</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_function_object.template_parameters"></a><h5>
|
||||
<a name="id1250147"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">Function</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused_function_object.model_of"></a><h5>
|
||||
<a name="id1250248"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const qualified <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt>
|
||||
<dd>
|
||||
An object convertible to <code class="computeroutput"><span class="identifier">R</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
|
||||
<dd>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
|
||||
are accepted by <code class="computeroutput"><span class="identifier">r</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
|
||||
<dd>
|
||||
An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></code>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.fused_function_object.expression_semantics"></a><h5>
|
||||
<a name="id1250433"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <code class="computeroutput"><span class="identifier">r</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <code class="computeroutput"><span class="identifier">r</span></code> with the
|
||||
elements in <code class="computeroutput"><span class="identifier">s</span></code> as
|
||||
its arguments.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused_function_object.example"></a><h5>
|
||||
<a name="id1250660"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">SeqOfSeqs</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Func</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <a href="../../algorithms/transformation/metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span> <span class="identifier">zip_view</span><span class="special"><</span><span class="identifier">SeqOfSeqs</span><span class="special">></span> <span class="keyword">const</span><span class="special">,</span>
|
||||
<span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&></span> <span class="special">>::</span><span class="identifier">type</span>
|
||||
<span class="identifier">n_ary_transform</span><span class="special">(</span><span class="identifier">SeqOfSeqs</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <a href="../../algorithms/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><span class="identifier">zip_view</span><span class="special"><</span><span class="identifier">SeqOfSeqs</span><span class="special">>(</span><span class="identifier">s</span><span class="special">),</span>
|
||||
<span class="identifier">fused_function_object</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&>(</span><span class="identifier">f</span><span class="special">));</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">struct</span> <span class="identifier">sub</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">)</span> <span class="special">></span>
|
||||
<span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">lhs</span> <span class="special">-</span> <span class="identifier">rhs</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">c</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">c</span> <span class="special">==</span> <span class="identifier">n_ary_transform</span><span class="special">(</span><a href="../../sequences/generation/functions/vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">sub</span><span class="special">()));</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_function_object.see_also"></a><h5>
|
||||
<a name="id1251595"></a>
|
||||
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a></li>
|
||||
<li><a href="fused_procedure.html" title="fused_procedure"><code class="computeroutput"><span class="identifier">fused_procedure</span></code></a></li>
|
||||
<li><a href="../invocation/functions/invoke_fobj.html" title="
|
||||
invoke_function_object"><code class="computeroutput"><span class="identifier">invoke_function_object</span></code></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused_procedure.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_generic.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,269 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>fused_procedure</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="fused.html" title="fused">
|
||||
<link rel="next" href="fused_function_object.html" title="fused_function_object">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="fused_function_object.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.fused_procedure"></a><a href="fused_procedure.html" title="fused_procedure">fused_procedure</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.fused_procedure.description"></a><h5>
|
||||
<a name="id1248449"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for <a href="../concepts/callable.html" title=" Callable Object">Callable
|
||||
Object</a> target functions. It takes a <a href="../../sequences/concepts/forward_sequence.html" title="Forward
|
||||
Sequence">Forward
|
||||
Sequence</a> that contains the arguments for the target function.
|
||||
</p>
|
||||
<p>
|
||||
The result is discared and the adapter's return type is <code class="computeroutput"><span class="keyword">void</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
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 <code class="literal">operator()</code> can be used
|
||||
for a target function object that is const or, if the target function object
|
||||
is held by value, the adapter is const - these semantics have nothing to
|
||||
do with the const qualification of a member function, which is referring
|
||||
to the type of object pointed to by <code class="literal">this</code> which is specified
|
||||
with the first element in the sequence passed to the adapter).
|
||||
</p>
|
||||
<p>
|
||||
If the target function is a pointer to a members function, the corresponding
|
||||
object can be specified as a reference, pointer, or smart pointer. In case
|
||||
of the latter, a freestanding <code class="literal">get_pointer</code> function must
|
||||
be defined (Boost provides this function for <code class="literal">std::auto_ptr</code>
|
||||
and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
|
||||
</p>
|
||||
<p>
|
||||
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).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.fused_procedure.header"></a><h5>
|
||||
<a name="id1248592"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_procedure.synopsis"></a><h5>
|
||||
<a name="id1248685"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused_procedure</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_procedure.template_parameters"></a><h5>
|
||||
<a name="id1248756"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">Function</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<a href="../concepts/callable.html" title=" Callable Object">Callable Object</a>
|
||||
type
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused_procedure.model_of"></a><h5>
|
||||
<a name="id1248857"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">R</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const qualified <a href="../concepts/callable.html" title=" Callable Object">Callable
|
||||
Object</a> type or reference type thereof
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">r</span></code></span></dt>
|
||||
<dd>
|
||||
An object convertible to <code class="computeroutput"><span class="identifier">R</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
|
||||
<dd>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a> of arguments that
|
||||
are accepted by <code class="computeroutput"><span class="identifier">r</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
|
||||
<dd>
|
||||
An instance of <code class="computeroutput"><span class="identifier">fused</span><span class="special"><</span><span class="identifier">R</span><span class="special">></span></code>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.fused_procedure.expression_semantics"></a><h5>
|
||||
<a name="id1249041"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">R</span><span class="special">>(</span><span class="identifier">r</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <code class="computeroutput"><span class="identifier">r</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">R</span><span class="special">>()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <code class="computeroutput"><span class="identifier">r</span></code> with the
|
||||
elements in <code class="computeroutput"><span class="identifier">s</span></code> as
|
||||
its arguments.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.fused_procedure.example"></a><h5>
|
||||
<a name="id1249268"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">SequenceOfSequences</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Func</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">n_ary_for_each</span><span class="special">(</span><span class="identifier">SequenceOfSequences</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">f</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../algorithms/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><a href="../../sequences/views/zip_view.html" title="zip_view"><code class="computeroutput"><span class="identifier">zip_view</span></code></a><span class="special"><</span><span class="identifier">SequenceOfSequences</span><span class="special">>(</span><span class="identifier">s</span><span class="special">),</span>
|
||||
<span class="identifier">fused_procedure</span><span class="special"><</span><span class="identifier">Func</span> <span class="keyword">const</span> <span class="special">&>(</span><span class="identifier">f</span><span class="special">));</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">a</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">2.0f</span><span class="special">);</span>
|
||||
<a href="../../sequences/containers/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">b</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">1.5f</span><span class="special">);</span>
|
||||
<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span>
|
||||
<span class="identifier">n_ary_for_each</span><span class="special">(</span><a href="../../sequences/generation/functions/vector_tie.html" title="vector_tie"><code class="computeroutput"><span class="identifier">vector_tie</span></code></a><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">_1</span> <span class="special">-=</span> <span class="identifier">_2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <a href="../../sequences/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">0.5f</span><span class="special">));</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.fused_procedure.see_also"></a><h5>
|
||||
<a name="id1249808"></a>
|
||||
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a></li>
|
||||
<li><a href="fused_function_object.html" title="fused_function_object"><code class="computeroutput"><span class="identifier">fused_function_object</span></code></a></li>
|
||||
<li><a href="../invocation/functions/invoke_proc.html" title="
|
||||
invoke_procedure"><code class="computeroutput"><span class="identifier">invoke_procedure</span></code></a></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="fused_function_object.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,298 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unfused_generic</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="fused_function_object.html" title="fused_function_object">
|
||||
<link rel="next" href="unfused_lvalue_args.html" title="unfused_lvalue_args">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused_function_object.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_lvalue_args.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.unfused_generic"></a><a href="unfused_generic.html" title="unfused_generic">unfused_generic</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.unfused_generic.description"></a><h5>
|
||||
<a name="id1251715"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. When called, its arguments are
|
||||
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> 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.
|
||||
</p>
|
||||
<div class="sidebar"><p>
|
||||
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Detecting mutable LValues on a per-argument basis
|
||||
is currently a compile time expensive operation (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">The
|
||||
Forwarding Problem</a> for details). Therefore, there are two, lightweight
|
||||
and more restricted variants of this class template, <a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a> and <a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a>.
|
||||
</p></div>
|
||||
<p>
|
||||
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 <code class="literal">operator()</code> 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).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.unfused_generic.header"></a><h5>
|
||||
<a name="id1251857"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_generic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_generic.synopsis"></a><h5>
|
||||
<a name="id1251952"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">unfused_generic</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_generic.template_parameters"></a><h5>
|
||||
<a name="id1252023"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">Function</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_generic.model_of"></a><h5>
|
||||
<a name="id1252124"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
|
||||
<dd>
|
||||
An object convertible to <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">UG</span></code></span></dt>
|
||||
<dd>
|
||||
The type <code class="computeroutput"><span class="identifier">unfused_generic</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">ug</span></code></span></dt>
|
||||
<dd>
|
||||
An instance of <code class="computeroutput"><span class="identifier">UG</span></code>, initialized
|
||||
with <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt>
|
||||
<dd>
|
||||
Arguments to <code class="computeroutput"><span class="identifier">ug</span></code>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.unfused_generic.expression_semantics"></a><h5>
|
||||
<a name="id1252346"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">UG</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">UG</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">ug</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <code class="computeroutput"><span class="identifier">f</span></code> with a
|
||||
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
|
||||
references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_generic.example"></a><h5>
|
||||
<a name="id1252581"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused_bound_1st</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">deduce</span><span class="special"><</span><span class="identifier">Function</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">fnc_deferred</span><span class="special">;</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">deduce</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">xxx_bound</span><span class="special">;</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
|
||||
<span class="identifier">fused_bound_1st</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">deferred</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">bound</span><span class="special">)</span>
|
||||
<span class="special">:</span> <span class="identifier">fnc_deferred</span><span class="special">(</span><span class="identifier">deferred</span><span class="special">),</span> <span class="identifier">xxx_bound</span><span class="special">(</span><span class="identifier">bound</span><span class="special">)</span>
|
||||
<span class="special">{</span> <span class="special">}</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">></span>
|
||||
<span class="special">:</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span><span class="special"><</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="special">></span>
|
||||
<span class="special">{</span> <span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special"><</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">invoke</span><span class="special">(</span><span class="identifier">fnc_deferred</span><span class="special">,</span> <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span><span class="identifier">xxx_bound</span><span class="special">));</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">unfused_generic</span><span class="special"><</span> <span class="identifier">fused_bound_1st</span><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span>
|
||||
<span class="identifier">bind_1st</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">x</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">unfused_generic</span><span class="special"><</span> <span class="identifier">fused_bound_1st</span><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="special">>(</span>
|
||||
<span class="identifier">fused_bound_1st</span><span class="special"><</span><span class="identifier">Function</span><span class="special">,</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">x</span><span class="special">)</span> <span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">test_func</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">c</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="identifier">c</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(&</span> <span class="identifier">test_func</span><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> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span><span class="special"><</span><span class="keyword">float</span><span class="special">>(),</span> <span class="number">1</span><span class="special">)(</span><span class="number">0.5f</span><span class="special">)</span> <span class="special">==</span> <span class="number">1.5f</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_generic.see_also"></a><h5>
|
||||
<a name="id1253810"></a>
|
||||
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a></li>
|
||||
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a></li>
|
||||
<li><a href="unfused_typed.html" title="unfused_typed"><code class="computeroutput"><span class="identifier">unfused_typed</span></code></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
|
||||
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><code class="computeroutput"><span class="identifier">deduce_sequence</span></code></a></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="fused_function_object.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_lvalue_args.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,266 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unfused_lvalue_args</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="unfused_generic.html" title="unfused_generic">
|
||||
<link rel="next" href="unfused_rvalue_args.html" title="unfused_rvalue_args">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_generic.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_rvalue_args.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args"></a><a href="unfused_lvalue_args.html" title="unfused_lvalue_args">unfused_lvalue_args</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.description"></a><h5>
|
||||
<a name="id1253949"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. When called, its arguments are
|
||||
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> of references that is passed to the target function
|
||||
object. Only LValue arguments are accepted.
|
||||
</p>
|
||||
<p>
|
||||
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 <code class="literal">operator()</code> 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).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.header"></a><h5>
|
||||
<a name="id1254020"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_lvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.synopsis"></a><h5>
|
||||
<a name="id1254115"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">unfused_lvalue_args</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.template_parameters"></a><h5>
|
||||
<a name="id1254189"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">Function</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.model_of"></a><h5>
|
||||
<a name="id1254289"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
|
||||
<dd>
|
||||
An object convertible to <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">UL</span></code></span></dt>
|
||||
<dd>
|
||||
The type <code class="computeroutput"><span class="identifier">unfused_lvalue_args</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">ul</span></code></span></dt>
|
||||
<dd>
|
||||
An instance of <code class="computeroutput"><span class="identifier">UL</span></code>, initialized
|
||||
with <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt>
|
||||
<dd>
|
||||
Arguments to <code class="computeroutput"><span class="identifier">ul</span></code>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.expression_semantics"></a><h5>
|
||||
<a name="id1254514"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">UL</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">UL</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">ul</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <code class="computeroutput"><span class="identifier">f</span></code> with a
|
||||
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
|
||||
references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.example"></a><h5>
|
||||
<a name="id1254749"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">fused_incrementer</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</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>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<a href="../../algorithms/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">s</span><span class="special">,++</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">unfused_lvalue_args</span><span class="special"><</span><span class="identifier">fused_incrementer</span><span class="special">></span> <span class="identifier">increment</span><span class="special">;</span>
|
||||
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span>
|
||||
<span class="identifier">increment</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">3</span> <span class="special">&&</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Y'</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_lvalue_args.see_also"></a><h5>
|
||||
<a name="id1255190"></a>
|
||||
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a></li>
|
||||
<li><a href="unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a></li>
|
||||
<li><a href="unfused_typed.html" title="unfused_typed"><code class="computeroutput"><span class="identifier">unfused_typed</span></code></a></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_generic.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_rvalue_args.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,266 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unfused_rvalue_args</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="unfused_lvalue_args.html" title="unfused_lvalue_args">
|
||||
<link rel="next" href="unfused_typed.html" title="unfused_typed">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_lvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_typed.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args"></a><a href="unfused_rvalue_args.html" title="unfused_rvalue_args">unfused_rvalue_args</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.description"></a><h5>
|
||||
<a name="id1255291"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. When called, its arguments are
|
||||
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> of references that is passed to the target function
|
||||
object. All referenced objects in the sequence are const qualified.
|
||||
</p>
|
||||
<p>
|
||||
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 <code class="literal">operator()</code> 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).
|
||||
</p>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.header"></a><h5>
|
||||
<a name="id1255362"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_rvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.synopsis"></a><h5>
|
||||
<a name="id1255457"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">unfused_rvalue_args</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.template_parameters"></a><h5>
|
||||
<a name="id1255531"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">Function</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.model_of"></a><h5>
|
||||
<a name="id1255632"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
|
||||
<dd>
|
||||
An object convertible to <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">UR</span></code></span></dt>
|
||||
<dd>
|
||||
The type <code class="computeroutput"><span class="identifier">unfused_rvalue_args</span><span class="special"><</span><span class="identifier">F</span><span class="special">></span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">ur</span></code></span></dt>
|
||||
<dd>
|
||||
An instance of <code class="computeroutput"><span class="identifier">UR</span></code>, initialized
|
||||
with <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt>
|
||||
<dd>
|
||||
Arguments to <code class="computeroutput"><span class="identifier">ur</span></code>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.expression_semantics"></a><h5>
|
||||
<a name="id1255857"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">UR</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">UR</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">ur</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <code class="computeroutput"><span class="identifier">f</span></code> with a
|
||||
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
|
||||
references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.example"></a><h5>
|
||||
<a name="id1256093"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">sequence_printer</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</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>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">s</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">unfused_rvalue_args</span><span class="special"><</span><span class="identifier">sequence_printer</span><span class="special">></span> <span class="identifier">print</span><span class="special">;</span>
|
||||
<span class="identifier">print</span><span class="special">(</span><span class="number">24</span><span class="special">,</span><span class="string">"bottles of beer in"</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="string">"box."</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_rvalue_args.see_also"></a><h5>
|
||||
<a name="id1256446"></a>
|
||||
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.see_also">See
|
||||
also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a></li>
|
||||
<li><a href="unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a></li>
|
||||
<li><a href="unfused_typed.html" title="unfused_typed"><code class="computeroutput"><span class="identifier">unfused_typed</span></code></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
|
||||
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><code class="computeroutput"><span class="identifier">deduce_sequence</span></code></a></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_lvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="unfused_typed.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,347 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unfused_typed</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../adapters.html" title=" Adapters">
|
||||
<link rel="prev" href="unfused_rvalue_args.html" title="unfused_rvalue_args">
|
||||
<link rel="next" href="../generation.html" title="Generation">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_rvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../generation.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.adapters.unfused_typed"></a><a href="unfused_typed.html" title="unfused_typed">unfused_typed</a></h4></div></div></div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.description"></a><h5>
|
||||
<a name="id1256583"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
An n-ary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> adapter template for an unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> target function. When called, its arguments are
|
||||
bundled to a <a href="../../sequences/concepts/random_access_sequence.html" title="Random
|
||||
Access Sequence">Random
|
||||
Access Sequence</a> that is passed to the target function object.
|
||||
</p>
|
||||
<p>
|
||||
The call operators of esulting function objects are strictly typed (in
|
||||
other words, non-templatized) with the types from a <a href="../../sequences.html" title="Sequences">Sequence</a>.
|
||||
</p>
|
||||
<p>
|
||||
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 <code class="literal">operator()</code> 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).
|
||||
</p>
|
||||
<div class="sidebar"><p>
|
||||
<span class="inlinemediaobject"><img src="../../../images/note.png" alt="note"></span> 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.
|
||||
</p></div>
|
||||
<div class="sidebar"><p>
|
||||
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> 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.
|
||||
</p></div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.header"></a><h5>
|
||||
<a name="id1256720"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.header">Header</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_typed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_typed.synopsis"></a><h5>
|
||||
<a name="id1256812"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Sequence</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">unfused_typed</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_typed.template_parameters"></a><h5>
|
||||
<a name="id1256900"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.template_parameters">Template
|
||||
parameters</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">Function</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">Sequence</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.model_of"></a><h5>
|
||||
<a name="id1257040"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.model_of">Model
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a></li>
|
||||
<li><a href="../concepts/def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const qualified, unary <a href="../concepts/poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic
|
||||
Function Object</a> type or reference type thereof
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
|
||||
<dd>
|
||||
An object convertible to <code class="computeroutput"><span class="identifier">F</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
|
||||
<dd>
|
||||
A <a href="../../sequences.html" title="Sequences">Sequence</a> of parameter types
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">UT</span></code></span></dt>
|
||||
<dd>
|
||||
The type <code class="computeroutput"><span class="identifier">unfused_typed</span><span class="special"><</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">S</span><span class="special">></span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">ut</span></code></span></dt>
|
||||
<dd>
|
||||
An instance of <code class="computeroutput"><span class="identifier">UT</span></code>, initialized
|
||||
with <code class="computeroutput"><span class="identifier">f</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code></span></dt>
|
||||
<dd>
|
||||
Arguments to <code class="computeroutput"><span class="identifier">ut</span></code>, convertible
|
||||
to the types in <code class="computeroutput"><span class="identifier">S</span></code>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.expression_semantics"></a><h5>
|
||||
<a name="id1257305"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.expression_semantics">Expression
|
||||
Semantics</a>
|
||||
</h5>
|
||||
<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>
|
||||
<code class="computeroutput"><span class="identifier">UT</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, initializes the target
|
||||
function with <code class="computeroutput"><span class="identifier">f</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">UT</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">ut</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Calls <code class="computeroutput"><span class="identifier">f</span></code> with an
|
||||
instance of <code class="computeroutput"><span class="identifier">S</span></code> (or
|
||||
a subsequence of <code class="computeroutput"><span class="identifier">S</span></code>
|
||||
starting at the first element, if fewer arguments are given and
|
||||
the overload hasn't been disabled) initialized with <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.adapters.unfused_typed.example"></a><h5>
|
||||
<a name="id1257555"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.example">Example</a>
|
||||
</h5>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">add_assign</span> <span class="comment">// applies operator+=
|
||||
</span><span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span> <span class="comment">// for simplicity
|
||||
</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="special">&</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">lhs</span> <span class="special">+=</span> <span class="identifier">rhs</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Tie</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">fused_parallel_adder</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">Tie</span> <span class="identifier">tie_dest</span><span class="special">;</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">explicit</span> <span class="identifier">fused_parallel_adder</span><span class="special">(</span><span class="identifier">Tie</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">dest</span><span class="special">)</span>
|
||||
<span class="special">:</span> <span class="identifier">tie_dest</span><span class="special">(</span><span class="identifier">dest</span><span class="special">)</span>
|
||||
<span class="special">{</span> <span class="special">}</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">zip</span><span class="special">(</span><span class="identifier">tie_dest</span><span class="special">,</span><span class="identifier">s</span><span class="special">),</span> <span class="identifier">fused</span><span class="special"><</span><span class="identifier">add_assign</span><span class="special">>()</span> <span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="comment">// accepts a tie and creates a typed function object from it
|
||||
</span><span class="keyword">struct</span> <span class="identifier">fused_parallel_adder_maker</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special"><</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">seq</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="identifier">unfused_typed</span><span class="special"><</span> <span class="identifier">fused_parallel_adder</span><span class="special"><</span><span class="identifier">seq</span><span class="special">>,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">transform</span><span class="special"><</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">_</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span> <span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special"><</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">tie</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="keyword">typename</span> <span class="identifier">result</span><span class="special"><</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span><span class="special">(</span>
|
||||
<span class="identifier">fused_parallel_adder</span><span class="special"><</span><span class="identifier">Seq</span><span class="special">>(</span><span class="identifier">tie</span><span class="special">)</span> <span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="identifier">unfused_lvalue_args</span><span class="special"><</span><span class="identifier">fused_parallel_adder_maker</span><span class="special">></span> <span class="identifier">parallel_add</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span>
|
||||
<span class="comment">// the second call is strictly typed with the types deduced from the
|
||||
</span> <span class="comment">// first call
|
||||
</span> <span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">);</span>
|
||||
<span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)();</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">8</span> <span class="special">&&</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Z'</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<a name="fusion.functional.adapters.unfused_typed.see_also"></a><h5>
|
||||
<a name="id1276348"></a>
|
||||
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.see_also">See also</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="unfused_generic.html" title="unfused_generic"><code class="computeroutput"><span class="identifier">unfused_generic</span></code></a></li>
|
||||
<li><a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a></li>
|
||||
<li><a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a></li>
|
||||
<li><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a></li>
|
||||
<li><a href="../../support/deduce_sequence.html" title="deduce_sequence"><code class="computeroutput"><span class="identifier">deduce_sequence</span></code></a></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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unfused_rvalue_args.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapters.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../generation.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,48 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Concepts</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../functional.html" title="Functional">
|
||||
<link rel="prev" href="../functional.html" title="Functional">
|
||||
<link rel="next" href="concepts/callable.html" title=" Callable Object">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functional.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/callable.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="fusion.functional.concepts"></a><a href="concepts.html" title="Concepts">Concepts</a></h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="concepts/callable.html"> Callable Object</a></span></dt>
|
||||
<dt><span class="section"><a href="concepts/reg_callable.html"> Regular Callable
|
||||
Object</a></span></dt>
|
||||
<dt><span class="section"><a href="concepts/def_callable.html"> Deferred
|
||||
Callable Object</a></span></dt>
|
||||
<dt><span class="section"><a href="concepts/poly.html"> Polymorphic Function
|
||||
Object</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../functional.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/callable.html"><img src="../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,64 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Callable Object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="../concepts.html" title="Concepts">
|
||||
<link rel="next" href="reg_callable.html" title=" Regular Callable
|
||||
Object">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="reg_callable.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.concepts.callable"></a><a href="callable.html" title=" Callable Object"> Callable Object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.concepts.callable.description"></a><h5>
|
||||
<a name="id1241477"></a>
|
||||
<a href="callable.html#fusion.functional.concepts.callable.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
A pointer to a function, a pointer to member function, a pointer to member
|
||||
data, or a class type whose objects can appear immediately to the left
|
||||
of a function call operator.
|
||||
</p>
|
||||
<a name="fusion.functional.concepts.callable.models"></a><h5>
|
||||
<a name="id1241506"></a>
|
||||
<a href="callable.html#fusion.functional.concepts.callable.models">Models</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
function pointer types
|
||||
</li>
|
||||
<li>
|
||||
member (function or data) pointer types
|
||||
</li>
|
||||
<li>
|
||||
all kinds of function objects
|
||||
</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="reg_callable.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,147 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Deferred
|
||||
Callable Object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="reg_callable.html" title=" Regular Callable
|
||||
Object">
|
||||
<link rel="next" href="poly.html" title=" Polymorphic Function
|
||||
Object">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reg_callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.concepts.def_callable"></a><a href="def_callable.html" title=" Deferred
|
||||
Callable Object"> Deferred
|
||||
Callable Object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.concepts.def_callable.description"></a><h5>
|
||||
<a name="id1241924"></a>
|
||||
<a href="def_callable.html#fusion.functional.concepts.def_callable.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="callable.html" title=" Callable Object">Callable Object</a>
|
||||
types that work with <a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top">Boost.ResultOf</a>
|
||||
to determine the result of a call.
|
||||
</p>
|
||||
<a name="fusion.functional.concepts.def_callable.refinement_of"></a><h5>
|
||||
<a name="id1241966"></a>
|
||||
<a href="def_callable.html#fusion.functional.concepts.def_callable.refinement_of">Refinement
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc"><li><a href="callable.html" title=" Callable Object">Callable Object</a></li></ul></div>
|
||||
<div class="sidebar"><p>
|
||||
note Once C++ supports the <code class="literal">decltype</code> keyword, all models
|
||||
of <a href="callable.html" title=" Callable Object">Callable Object</a>
|
||||
will also be models of <a href="def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a>, because function objects won't need client-side
|
||||
support for <code class="computeroutput"><span class="identifier">result_of</span></code>.
|
||||
</p></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const qualified Deferred Callable Object type
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></code></span></dt>
|
||||
<dd>
|
||||
Argument types
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">a1</span>
|
||||
<span class="special">...</span><span class="identifier">aN</span></code></span></dt>
|
||||
<dd>
|
||||
Objects or references to objects with types <code class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span></code></span></dt>
|
||||
<dd>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>i is <code class="computeroutput"><span class="identifier">A</span></code>i
|
||||
<code class="computeroutput"><span class="special">&</span></code> if <code class="computeroutput"><span class="identifier">a</span></code>i
|
||||
is an LValue, same as <code class="computeroutput"><span class="identifier">A</span></code>i,
|
||||
otherwise
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.concepts.def_callable.expression_requirements"></a><h5>
|
||||
<a name="id1242224"></a>
|
||||
<a href="def_callable.html#fusion.functional.concepts.def_callable.expression_requirements">Expression
|
||||
requirements</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Type
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><code class="computeroutput"><span class="special"><</span> <span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Result of a call with <code class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></code>-typed
|
||||
arguments
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.concepts.def_callable.models"></a><h5>
|
||||
<a name="id1242387"></a>
|
||||
<a href="def_callable.html#fusion.functional.concepts.def_callable.models">Models</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<a href="poly.html" title=" Polymorphic Function
|
||||
Object">Polymorphic Function
|
||||
Object</a> types
|
||||
</li>
|
||||
<li>
|
||||
member (function or data) pointer types
|
||||
</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reg_callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,161 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title> Polymorphic Function
|
||||
Object</title>
|
||||
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
|
||||
<link rel="up" href="../concepts.html" title="Concepts">
|
||||
<link rel="prev" href="def_callable.html" title=" Deferred
|
||||
Callable Object">
|
||||
<link rel="next" href="../invocation.html" title="Invocation">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%">
|
||||
<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>
|
||||
</table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="def_callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="fusion.functional.concepts.poly"></a><a href="poly.html" title=" Polymorphic Function
|
||||
Object"> Polymorphic Function
|
||||
Object</a></h4></div></div></div>
|
||||
<a name="fusion.functional.concepts.poly.description"></a><h5>
|
||||
<a name="id1242444"></a>
|
||||
<a href="poly.html#fusion.functional.concepts.poly.description">Description</a>
|
||||
</h5>
|
||||
<p>
|
||||
A non-member-pointer <a href="def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred
|
||||
Callable Object</a> type.
|
||||
</p>
|
||||
<a name="fusion.functional.concepts.poly.refinement_of"></a><h5>
|
||||
<a name="id1242479"></a>
|
||||
<a href="poly.html#fusion.functional.concepts.poly.refinement_of">Refinement
|
||||
of</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="reg_callable.html" title=" Regular Callable
|
||||
Object">Regular Callable
|
||||
Object</a></li>
|
||||
<li><a href="def_callable.html" title=" Deferred
|
||||
Callable Object">Deferred Callable
|
||||
Object</a></li>
|
||||
</ul></div>
|
||||
<div class="variablelist">
|
||||
<p class="title"><b>Notation</b></p>
|
||||
<dl>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
|
||||
<dd>
|
||||
A possibly const-qualified Polymorphic Function Object type
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
|
||||
<dd>
|
||||
An object or reference to an object of type F
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></code></span></dt>
|
||||
<dd>
|
||||
Argument types
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">a1</span>
|
||||
<span class="special">...</span><span class="identifier">aN</span></code></span></dt>
|
||||
<dd>
|
||||
Objects or references to objects with types <code class="computeroutput"><span class="identifier">A1</span>
|
||||
<span class="special">...</span><span class="identifier">AN</span></code>
|
||||
</dd>
|
||||
<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span></code></span></dt>
|
||||
<dd>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code>i is <code class="computeroutput"><span class="identifier">A</span></code>i
|
||||
<code class="computeroutput"><span class="special">&</span></code> if <code class="computeroutput"><span class="identifier">a</span></code>i
|
||||
is an LValue, same as <code class="computeroutput"><span class="identifier">A</span></code>i,
|
||||
otherwise
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<a name="fusion.functional.concepts.poly.expression_requirements"></a><h5>
|
||||
<a name="id1242720"></a>
|
||||
<a href="poly.html#fusion.functional.concepts.poly.expression_requirements">Expression
|
||||
requirements</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Expression
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Return Type
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Runtime Complexity
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
|
||||
<span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">result_of</span><span class="special"><</span>
|
||||
<span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span><span class="special">,</span>
|
||||
<span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">>::</span><span class="identifier">type</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Unspecified
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<a name="fusion.functional.concepts.poly.models"></a><h5>
|
||||
<a name="id1242898"></a>
|
||||
<a href="poly.html#fusion.functional.concepts.poly.models">Models</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
function pointers
|
||||
</li>
|
||||
<li>
|
||||
function objects of the Standard Library
|
||||
</li>
|
||||
<li>
|
||||
all Fusion <a href="../adapters.html" title=" Adapters">functional adapters</a>
|
||||
</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"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
|
||||
Schwinger</small></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="def_callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../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
Reference in New Issue
Block a user