Indiana Unversity logo[ConceptGCC]

ConceptGCC :

[Feature] Parameterized "Type-of-Type" syntax added

From: Douglas Gregor (doug.gregor_at_[hidden])
Date: 2006-06-02 12:04:42


ConceptGCC used to allow the "type-of-type" syntax, e.g.,
"InputIterator Iter", for only single-parameter concepts. We've now
generalized this syntax for multi-type parameters, as in the
declaration of "BinaryOperation2" below:

   template<InputIterator Iter1, InputIterator Iter2, typename T,
            typename BinaryOperation1,
            Callable2<Iter1::reference, Iter2::reference>
BinaryOperation2>
     where Callable2<BinaryOperation1, T,
BinaryOperation2::result_type>&&
           Assignable<
             T,
             Callable2<BinaryOperation1, T,
BinaryOperation2::result_type>::result_type
>
     T
     inner_product(Iter1 first1, Iter1 last1,
                   Iter2 first2, T init,
                   BinaryOperation1 binary_op1,
                   BinaryOperation2 binary_op2)

The feature is described in more detail here:
        http://www.generic-programming.org/software/ConceptGCC/devblog/#june02

        Cheers,
        Doug