mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-29 20:17:32 +02:00
result_of::{copy,move,swap} are now SFINAE-friendly
This commit is contained in:
@ -164,7 +164,8 @@ A metafunction returning the result type of applying __copy__, which is always `
|
||||
[heading Expression Semantics]
|
||||
result_of::copy<Seq1, Seq2>::type
|
||||
|
||||
[*Return type]: `void`
|
||||
[*Return type]: `void` iff both of `Seq1` and `Seq2` are sequence.
|
||||
Otherwise, none.
|
||||
|
||||
[*Semantics]: Returns the return type of __copy__ for 2 sequences of types `Seq1` and `Seq2`.
|
||||
|
||||
@ -199,7 +200,8 @@ A metafunction returning the result type of applying __move__, which is always `
|
||||
[heading Expression Semantics]
|
||||
result_of::move<Seq1, Seq2>::type
|
||||
|
||||
[*Return type]: `void`
|
||||
[*Return type]: `void` iff both of `Seq1` and `Seq2` are sequence.
|
||||
Otherwise, none.
|
||||
|
||||
[*Semantics]: Returns the return type of __move__ for 2 sequences of types `Seq1` and `Seq2`.
|
||||
|
||||
|
@ -178,6 +178,8 @@
|
||||
[def __result_of_value_at__ [link fusion.sequence.intrinsic.metafunctions.value_at `result_of::value_at`]]
|
||||
[def __result_of_value_at_c__ [link fusion.sequence.intrinsic.metafunctions.value_at_c `result_of::value_at_c`]]
|
||||
[def __result_of_value_at_key__ [link fusion.sequence.intrinsic.metafunctions.value_at_key `result_of::value_at_key`]]
|
||||
[def __swap__ [link fusion.sequence.intrinsic.functions.swap `swap`]]
|
||||
[def __result_of_swap__ [link fusion.sequence.intrinsic.metafunctions.swap `result_of::swap`]]
|
||||
|
||||
[def __conversion__ [link fusion.container.conversion.functions Conversion]]
|
||||
[def __result_of_conversion__ [link fusion.container.conversion.metafunctions Conversion Metafunctions]]
|
||||
|
@ -854,7 +854,8 @@ Performs an element by element swap of the elements in 2 sequences.
|
||||
|
||||
[heading Synopsis]
|
||||
template<typename Seq1, typename Seq2>
|
||||
void swap(Seq1& seq1, Seq2& seq2);
|
||||
typename __result_of_swap__<Seq1, Seq2>::type
|
||||
swap(Seq1& seq1, Seq2& seq2);
|
||||
|
||||
[heading Parameters]
|
||||
|
||||
@ -873,7 +874,10 @@ Performs an element by element swap of the elements in 2 sequences.
|
||||
|
||||
[*Semantics]: Calls `swap(a1, b1)` for corresponding elements in `seq1` and `seq2`.
|
||||
|
||||
/sequence/intrinsic/swap.hpp>
|
||||
[heading Header]
|
||||
|
||||
#include <boost/fusion/sequence/intrinsic/swap.hpp>
|
||||
#include <boost/fusion/include/swap.hpp>
|
||||
|
||||
[heading Example]
|
||||
__vector__<int, std::string> v1(1, "hello"), v2(2, "world");
|
||||
@ -1415,9 +1419,10 @@ Returns the return type of swap.
|
||||
[heading Expression Semantics]
|
||||
result_of::swap<Seq1, Seq2>::type
|
||||
|
||||
[*Return type]: `void`.
|
||||
[*Return type]: `void` iff both of `Seq1` and `Seq2` are sequence.
|
||||
Otherwise, none.
|
||||
|
||||
[*Semantics]: Always returns `void`.
|
||||
[*Semantics]: Returns the return type of __swap__ for 2 sequences of types `Seq1` and `Seq2`.
|
||||
|
||||
[heading Header]
|
||||
|
||||
|
Reference in New Issue
Block a user