add documentation for BOOST_FUSION_ADAPT_ADT and type deduction.

This commit is contained in:
Damien Buhl (alias daminetreg)
2014-10-07 21:39:18 +02:00
parent aa7b0a6972
commit c8ffc6498b

View File

@ -664,8 +664,8 @@ __random_access_sequence__.
BOOST_FUSION_ADAPT_ADT( BOOST_FUSION_ADAPT_ADT(
type_name, type_name,
(attribute_type0, attribute_const_type0, get_expr0, set_expr0) ([attribute_type0, attribute_const_type0,] get_expr0, set_expr0)
(attribute_type1, attribute_const_type1, get_expr1, set_expr1) ([attribute_type1, attribute_const_type1,] get_expr1, set_expr1)
... ...
) )
@ -674,7 +674,7 @@ __random_access_sequence__.
The above macro generates the necessary code to adapt `type_name` The above macro generates the necessary code to adapt `type_name`
as a model of __random_access_sequence__. as a model of __random_access_sequence__.
The sequence of The sequence of
[^(attribute_type['N], attribute_const_type['N], get_expr['N], set_expr['N])] [^([attribute_type['N], attribute_const_type['N],] get_expr['N], set_expr['N])]
quadruples declares the types, const types, get-expressions and set-expressions quadruples declares the types, const types, get-expressions and set-expressions
of the elements that are part of the adapted fusion sequence. of the elements that are part of the adapted fusion sequence.
[^get_expr['N]] is the expression that is invoked to get the ['N]th element [^get_expr['N]] is the expression that is invoked to get the ['N]th element
@ -682,7 +682,9 @@ of an instance of `type_name`. This expression may access a variable named
`obj` of type `type_name&` or `type_name const&` which represents the underlying `obj` of type `type_name&` or `type_name const&` which represents the underlying
instance of `type_name`. instance of `type_name`.
[^attribute_type['N]] and [^attribute_const_type['N]] may specify the types [^attribute_type['N]] and [^attribute_const_type['N]] may specify the types
that [^get_expr['N]] denotes to. that [^get_expr['N]] denotes to, when omitted the type is deduced from
[get_expr['N]] return type via BOOST_TYPEOF. On compiler missing support for
variadic macros BOOST_FUSION_ADAPT_AUTO can be used to avoid repeating the type.
[^set_expr['N]] is the expression that is invoked to set the ['N]th element [^set_expr['N]] is the expression that is invoked to set the ['N]th element
of an instance of `type_name`. This expression may access variables named of an instance of `type_name`. This expression may access variables named
`obj` of type `type_name&`, which represent the corresponding instance of `obj` of type `type_name&`, which represent the corresponding instance of