Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::result_of::unpack_expr< Tag, Sequence, Void1, Void2 > Struct Template Reference

Metafunction that computes the return type of the unpack_expr() function, with a domain deduced from the domains of the children. More...

#include <proto_fwd.hpp>

Public Types

typedef detail::unpack_expr_
< Tag, deduce_domain, Sequence,
fusion::result_of::size
< Sequence >::type::value >
::type 
type
 Let S be the type of a Fusion Random Access Sequence equivalent to Sequence. More...
 

Detailed Description

template<typename Tag, typename Sequence, typename Void1, typename Void2>
struct boost::proto::result_of::unpack_expr< Tag, Sequence, Void1, Void2 >

Metafunction that computes the return type of the unpack_expr() function, with a domain deduced from the domains of the children.

Use the result_of::unpack_expr<> metafunction to compute the return type of the unpack_expr() function.

Sequence is a Fusion Forward Sequence.

In this specialization, the domain is deduced from the domains of the child types. (If is_domain<Sequence>value is true, then another specialization is selected.)

Member Typedef Documentation

template<typename Tag, typename Sequence, typename Void1, typename Void2 >
typedef detail::unpack_expr_< Tag , deduce_domain , Sequence , fusion::result_of::size<Sequence>::type::value >::type boost::proto::result_of::unpack_expr< Tag, Sequence, Void1, Void2 >::type

Let S be the type of a Fusion Random Access Sequence equivalent to Sequence.

Then type is the same as result_of::make_expr<Tag, fusion::result_of::value_at_c<S, 0>::type, ... fusion::result_of::value_at_c<S, N-1>::type>::type, where N is the size of S.


The documentation for this struct was generated from the following file: