|
Boost Users : |
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2008-05-06 15:44:48
AMDG
Edward Diener wrote:
> I understand the explanation about how placeholders work. The rule you
> are specifying appears to be that one never adds the '::type' to the end
> of a placeholder expression when it is being passed to an mpl construct.
> Is that correct ?
>
You should never add ::type to a placeholder expression at all.
Otherwise, the metafunction will probably get very confused.
> I wish I knew what the is an mpl function as opposed to what is not an
> mpl function. Perhaps the mpl algorithms are the mpl functions and
> everything which is not an algorithm is not an mpl function.
>
Inserters, Sequences, and the types listed under "Data Types" are not
metafunctions.
Everything listed in a section with Metafunctions of Algorithms in its
name are metafunctions.
>> If your not
>> sure, the
>> only thing to do is look it up.
>>
>
> Look up what ? Where in the reference documentation does it tell me
> whether I need to add '::type' to the end of an mpl construct ?
>
Here are two examples from the reference:
template< typename Sequence , typename State , typename ForwardOp >
struct accumulate <./accumulate.html> {
typedef /unspecified/ type;
};
template< typename Seq >
struct back_inserter <./back-inserter.html> {
// /unspecified/
// /.../
};
In Christ,
Steven Watanabe
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net