Boost logo

Boost :

Subject: Re: [boost] [guidelines] why template errors suck
From: Smith, Jacob N (jacob.n.smith_at_[hidden])
Date: 2010-09-28 13:05:02


> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-
> bounces_at_[hidden]] On Behalf Of David Abrahams
> Sent: Monday, September 27, 2010 5:25 PM
> To: boost_at_[hidden]
> Subject: Re: [boost] [guidelines] why template errors suck
>
> At Mon, 27 Sep 2010 16:55:58 -0700, Smith, Jacob N wrote:
> >
> > concept MyGrammarE1pE0<typename Node>
> > {
> > requires SpiritBinaryNode<Node>;
> > requires MyGrammarE1<get_child<_0,
> SpiritNode<Node>::children>::type>,
> > MyGrammarE0<get_child<_1,
> SpiritNode<Node>::children>::type>;
> > }
> >
> > template <MyGrammarE0 Node>
> > concept_map MyGrammarS<Node> { }
> >
> > template <MyGrammarE1 Node>
> > concept_map MyGrammarE0<Node> { }
> >
> > // The following modeling relationship uses a made up syntax. I'm not
> sure
> > // anyone implemented a modeling relationship syntax from multisorted
> concepts
> > // without an underlying carrier.
> > template <MyGrammarS L, MyGrammarS R>
> > concept_map MyGrammarE0<MyGrammarE1pE0<L,R>> { }
>
> Isn't MyGrammarE1pE0 a single-type ("single-sorted" if you're nasty)
> concept?

Just a mistake. I suppose

template <MyGramarE1pE0 Node>
concept_mp MyGrammarE0<Node> { }

is what I was trying to say.

> I don't know what you mean by "carrier" above. Could you explain what
> you're trying to accomplish with this made-up syntax? Maybe I can
> help.
>
> --
> Dave Abrahams
> BoostPro Computing
> http://www.boostpro.com
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk