Boost logo

Boost :

Subject: Re: [boost] [guidelines] why template errors suck
From: Andrzej Krzemienski (akrzemi1_at_[hidden])
Date: 2010-09-29 05:06:48


> > > Well, I believe I got it wrong. It is concept maps where the
specializtion
> > > is to tke plce. It should read:
> > >
> > > explicit concept< typename T > IntOrPair

> "explicit concepts" were never part of any accepted proposal ;-)

> > {
> > int sum_ints_impl( T const& );
> > }
> >
> > concept_map IntOrPair<int>
> > {
> > int sum_ints_impl( int const& i ) { return i; }
> > }
> >
> > template< IntOrPair type1, IntOrPair type2 >
> > concept_map IntOrPair< std::pair<type1, type2> >
> > {
> > int sum_ints_impl( std::pair<First, Second> const& p ) {
> > return sum_ints_impl(p.first) + sum_ints_impl(p.second);
> > }
> > }
> >
> > template<IntOrPair T>
> > int sum_ints( T const & t )
> > {
> > return IntOrPair::sum_ints_impl( t );
> > }

> I think what you wrote is equivalent to what I posted in
> http://permalink.gmane.org/gmane.comp.lib.boost.devel/209012

> However, as I noted in that message, trying to constrain something to
> be either an Int or a Pair is really against the spirit of GP.

I understand. On the other hand, even though concepts were designed to
support GP, once they are designed it would be interesting to see how they
can be used to do other thing, and what other possibilities they enable.

Regards,
&rzej


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