Indiana Unversity logo[ConceptGCC]

ConceptGCC :

Inline requirements to define associated types

From: Michelangelo Riccobene (michelangelo.riccobene_at_[hidden])
Date: 2007-02-02 04:04:02


Hello,
Douglas Gregor in a post on comp.std.c++ (Concepts Question) wrote
this piece of code:

concept Container<typename X> {
    InputIterator iterator = X::iterator;
    iterator X::begin();
    iterator X::end();
}

but i am unable to compile it with ConceptGCC. With:

#include <concepts>
#include <iterator>

auto concept Container<typename X>
{
   std::InputIterator iterator = X::iterator; // line 6

   iterator X::begin();
   iterator X::end();
}

ConceptGCC report:

test.cpp:6: error: expected type-specifier
test.cpp:6: error: expected `;'

Instead this works:

#include <concepts>
#include <iterator>

auto concept Container<typename X>
{
   where std::InputIterator<typename X::iterator>;
   typename iterator = X::iterator;

   iterator X::begin();
   iterator X::end();
}

Is this a missing feature of ConceptGCC or I am wrong?

thanks,
michelangelo riccobene