Opened 9 years ago
Last modified 9 years ago
#8766 new Bugs
is_iterator_category<Traversal> error
Reported by: | Owned by: | jeffrey.hellrung | |
---|---|---|---|
Milestone: | To Be Determined | Component: | iterator |
Version: | Boost 1.54.0 | Severity: | Problem |
Keywords: | Cc: |
Description
VC12 Preview
1> Unknown compiler version - please run the configure tests and report the results 1>c:\vc\include\boost\iterator\detail\facade_iterator_category.hpp(166): error C2039: 'assert_not_arg' : is not a member of 'boost::mpl' 1> c:\vc\include\boost\mpl\eval_if.hpp(41) : see reference to class template instantiation 'boost::detail::facade_iterator_category_impl<CategoryOrTraversal,ValueParam,Reference>' being compiled 1> with 1> [ 1> CategoryOrTraversal=boost::forward_traversal_tag 1> , ValueParam=std::basic_string<char,std::char_traits<char>,std::allocator<char>> 1> , Reference=const std::basic_string<char,std::char_traits<char>,std::allocator<char>> & 1> ] 1> c:\vc\include\boost\iterator\detail\facade_iterator_category.hpp(193) : see reference to class template instantiation 'boost::mpl::eval_if<boost::detail::is_iterator_category<CategoryOrTraversal>,boost::mpl::identity<boost::forward_traversal_tag>,boost::detail::facade_iterator_category_impl<CategoryOrTraversal,ValueParam,Reference>>' being compiled 1> with 1> [ 1> CategoryOrTraversal=boost::forward_traversal_tag 1> , ValueParam=std::basic_string<char,std::char_traits<char>,std::allocator<char>> 1> , Reference=const std::basic_string<char,std::char_traits<char>,std::allocator<char>> & 1> ] 1> c:\vc\include\boost\iterator\iterator_facade.hpp(104) : see reference to class template instantiation 'boost::detail::facade_iterator_category<CategoryOrTraversal,ValueParam,Reference>' being compiled 1> with 1> [ 1> CategoryOrTraversal=boost::forward_traversal_tag 1> , ValueParam=std::basic_string<char,std::char_traits<char>,std::allocator<char>> 1> , Reference=const std::basic_string<char,std::char_traits<char>,std::allocator<char>> & 1> ] 1> c:\vc\include\boost\iterator\iterator_facade.hpp(620) : see reference to class template instantiation 'boost::detail::iterator_facade_types<Value,CategoryOrTraversal,Reference,Difference>' being compiled 1> with 1> [ 1> Value=std::basic_string<char,std::char_traits<char>,std::allocator<char>> 1> , CategoryOrTraversal=boost::forward_traversal_tag 1> , Reference=const std::basic_string<char,std::char_traits<char>,std::allocator<char>> & 1> , Difference=ptrdiff_t 1> ] 1> c:\vc\include\boost\token_iterator.hpp(40) : see reference to class template instantiation 'boost::iterator_facade<boost::token_iterator<TokenizerFunc,Iterator,Type>,Type,boost::forward_traversal_tag,const Type &,ptrdiff_t>' being compiled 1> with 1> [ 1> TokenizerFunc=char_separator_type 1> , Iterator=std::_String_const_iterator<std::_String_val<std::_Simple_types<char>>> 1> , Type=std::basic_string<char,std::char_traits<char>,std::allocator<char>> 1> ] 1> c:\vc\include\boost\date_time\date_parsing.hpp(132) : see reference to class template instantiation 'boost::token_iterator<TokenizerFunc,Iterator,Type>' being compiled 1> with 1> [ 1> TokenizerFunc=char_separator_type 1> , Iterator=std::_String_const_iterator<std::_String_val<std::_Simple_types<char>>> 1> , Type=std::basic_string<char,std::char_traits<char>,std::allocator<char>> 1> ] 1> c:\vc\include\boost\date_time\gregorian\parsers.hpp(30) : see reference to function template instantiation 'date_type boost::date_time::parse_date<boost::gregorian::date>(const std::string &,int)' being compiled 1> with 1> [ 1> date_type=boost::gregorian::date 1> ]
Change History (5)
comment:1 by , 9 years ago
comment:3 by , 9 years ago
BOOST_MPL_ASSERT[_FALSE] appears to be broken in VC12 - see #9249.
It seems that it's the actual issue here, and there is nothing wrong with the Boost.Iterator library.
follow-up: 5 comment:4 by , 9 years ago
Trunk generates the same error for me
#include <boost/algorithm/string.hpp>
1>c:\vc\include\boost\iterator\iterator_concepts.hpp(42): error C2065: 'ReadableIterator' : undeclared identifier
comment:5 by , 9 years ago
Replying to Olaf van der Spek <ml@…>:
Trunk generates the same error for me
#include <boost/algorithm/string.hpp>1>c:\vc\include\boost\iterator\iterator_concepts.hpp(42): error C2065: 'ReadableIterator' : undeclared identifier
No, it's *another* error.
Just copy boost/mpl/assert.hpp from trunk to 1.55.0b1 and that code will compile.
Jeffrey? VC12 RC hits the same issue