![]() |
Home | Libraries | People | FAQ | More |
boost::proto::lazy::impl
// In header: <boost/proto/transform/lazy.hpp>
template<typename Expr, typename State, typename Data>
struct impl : proto::transform_impl<Expr, State, Data> {
// types
typedef ;
// public member functions
(,
,
) ;
};impl
public
types
proto::lazy<T>::impl<Expr,State,Data>::result_type
is calculated as follows:
If T if of the form
O(A0,…An), then let O'
be boost::result_of<proto::make<O>(Expr, State, Data)>::type
and let T' be O'(A0,…An).
If T if of the form
O(A0,…An ...), then let O'
be boost::result_of<proto::make<O>(Expr, State, Data)>::type
and let T' be O'(A0,…An ...).
Otherwise, let T'
be boost::result_of<proto::make<T>(Expr, State, Data)>::type.
The result type is
boost::result_of<proto::call<T'>(Expr, State, Data)>::type
.
impl public member functions( expr, state, data) ;
behaves as follows:
proto::lazy<T>::impl<Expr,State,Data>::operator()
If T if of the form
O(A0,…An), then let O'
be boost::result_of<
and let proto::make<O>(Expr, State, Data)>::typeT' be O'(A0,…An).
If T if of the form
O(A0,…An ...), then let O'
be boost::result_of<
and let proto::make<O>(Expr, State, Data)>::typeT' be O'(A0,…An ...).
Otherwise, let T'
be boost::result_of<.
proto::make<T>(Expr, State, Data)>::type
Returns: |
|