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