[Concept.Check] BOOST_CONCEPT_ASSERT and OutputIterator
Hi, what might be wrong about this concept check? BOOST_CONCEPT_ASSERT( ( OutputIterator< std::back_insert_iterator< std::vector< bool > >, bool > ) ); It causes this compiler error:
In file included from /home/jens/hacon/build/boost-1.46.1/boost/concept/assert.hpp:36:0, from /home/jens/hacon/build/boost-1.46.1/boost/concept_check.hpp:20, from /home/jens/hacon/build/boost-1.46.1/boost/bimap/detail/bimap_core.hpp:31, from /home/jens/hacon/build/boost-1.46.1/boost/bimap/bimap.hpp:61, from /home/jens/hacon/build/boost-1.46.1/boost/bimap.hpp:13, from src/XYZ.cpp:8: src/xyz.cpp: In function ‘{anonymous}::triboolInheritFromAnyNeighborConverter_c<BoolOutputIterator> {anonymous}::makeTriboolInheritFromAnyNeighborConverter(BoolOutputIterator)’: src/xyz.cpp:546:5: error: ‘*’ cannot appear in a constant-expression BOOST_CONCEPT_ASSERT( ( OutputIterator< std::back_insert_iterator< std::vector< bool > >, bool > ) ); ^ src/XYZ.cpp:546:5: error: a call to a constructor cannot appear in a constant-expression BOOST_CONCEPT_ASSERT( ( OutputIterator< std::back_insert_iterator< std::vector< bool > >, bool > ) ); ^ src/XYZ.cpp:546:5: error: template argument 1 is invalid BOOST_CONCEPT_ASSERT( ( OutputIterator< std::back_insert_iterator< std::vector< bool > >, bool > ) ); ^ src/XYZ.cpp:546:5: error: template argument 1 is invalid BOOST_CONCEPT_ASSERT( ( OutputIterator< std::back_insert_iterator< std::vector< bool > >, bool > ) ); ^ src/XYZ.cpp:546:105: error: invalid type in declaration before ‘;’ token BOOST_CONCEPT_ASSERT( ( OutputIterator< std::back_insert_iterator< std::vector< bool > >, bool > ) );
Thanks, Jens
P.S.: I of course have:
#include <vector>
#include
On 15 May 2014 19:21, Jens Müller
Hi,
what might be wrong about this concept check?
BOOST_CONCEPT_ASSERT( ( OutputIterator< std::back_insert_iterator< std::vector< bool > >, bool > ) );
A minimal, but complete, bit of code demonstrating the error would be helpful. Thx, Rob.
On Thu, May 15, 2014 at 7:21 PM, Jens Müller
Hi,
what might be wrong about this concept check?
BOOST_CONCEPT_ASSERT( ( OutputIterator< std::back_insert_iterator< std::vector< bool > >, bool > ) );
I suspect that you simply need to add boost:: before OutputIterator. If this is not the case then please post a complete code example. Regards, Neil Groves
participants (3)
-
Jens Müller
-
Neil Groves
-
Robert Jones