Boost logo

Boost :

Subject: Re: [boost] Provisional Boost.Generic and Boost.Auto_Function (concepts without concepts)
From: Dave Abrahams (dave_at_[hidden])
Date: 2010-12-15 14:26:49


At Tue, 14 Dec 2010 12:02:59 -0500,
Matt Calabrese wrote:
>
> On Tue, Dec 14, 2010 at 10:33 AM, Steven Watanabe <watanabesj_at_[hidden]>wrote:
>
> > I believe that it wasn't an issue for the C++0x concept proposals,
> > because the concept maps for both left and right would depend
> > on being able to find a concept map for base.
> >
>
> Ah thanks, Steven, I misremembered apparently. Just to get this straight,
> what you're saying is that if someone were to make a concept map for a
> random access iterator they'd have to first explicitly make concept maps for
> iterator, input iterator, forward iterator, and bidirectional
> iterator?

I don't think so. Take a look at
https://svn.osl.iu.edu/svn/hlo/trunk/gcc/libstdc++-v3/include/bits/iterator_concepts.h
for reference; search for "X*". You'll see there's only one concept
map for X*, to RandomAccessIterator.

> That
> should solve the problem, albeit somewhat tedious for people creating models
> of concepts. That's also much easier to implement than my current approach
> of having the concept map for the refinement act as the concept map for the
> parent concept, so I'll probably follow that route.
>
> I should just look at the concept proposals from now on for reference. No
> sense in putting in a lot of work to just come to the same conclusions with
> likely similar rationale.

Good thought.

-- 
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