Boost logo

Boost :

Subject: Re: [boost] [contract] concepts: pseudo-signatures vs. usage patterns
From: Matt Calabrese (rivorus_at_[hidden])
Date: 2012-10-14 01:33:31


On Sat, Oct 13, 2012 at 9:38 PM, Lorenzo Caminiti <lorcaminiti_at_[hidden]>wrote:

>
> Because I don't know how to support the following:
>
> template( typename(ObjectType) T, typename(MapType<T>) U )
> concept_map (RandomAccessIterator) ( T* )
>
> Where U is of constrained by MapType<U, T>. The only way I can think
> to do this is typename(MapType<mpl::_, T>) U (then it'd be up to
> Boost.Generic to deal with mpl::_ used this way). Does this use case
> apply to associated types?
>

This applies to using "auto" in the parameter list in N2914. While I don't
support it yet, I was planning on doing it via the preprocessor rather than
trying to do it with template metaprogramming, though I haven't thought
about it in depth yet:

template( ((ObjectType)) T, (((MapType)( auto, T )) U)

This corresponds to the N2914 syntax mentioned in [temp.param] on page 312
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2914.pdf

-- 
-Matt Calabrese

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