Boost logo

Boost :

Subject: Re: [boost] [guidelines] why template errors suck
From: David Abrahams (dave_at_[hidden])
Date: 2010-09-27 20:24:47


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?

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

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