Subject: [Boost-bugs] [Boost C++ Libraries] #9801: I can no longer create and iterator_range from a stable_vector
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-03-20 21:01:43
#9801: I can no longer create and iterator_range from a stable_vector
-----------------------------------------+------------------------
Reporter: Joseph Southwell <joseph@â¦> | Owner: neilgroves
Type: Bugs | Status: new
Milestone: To Be Determined | Component: range
Version: Boost Release Branch | Severity: Regression
Keywords: |
-----------------------------------------+------------------------
{{{
modular boost master
boost range at fa629a53bd7bcbd8a09520c5f5b016cd8647de18
boost container at 7ca156661fb1b8455362f639975459f0825ea75c
Visual Studio 2013
}}}
{{{
#!cpp
#include <boost/container/stable_vector.hpp>
#include <boost/range/iterator_range.hpp>
typedef boost::container::stable_vector<int> stack_type;
typedef boost::iterator_range<stack_type::iterator> stack_range;
int _tmain(int argc, _TCHAR* argv[])
{
stack_type stack;
stack_range(stack.begin(), stack.end());
return 0;
}
}}}
{{{
1> ConsoleApplication6.cpp
1>c:\development\modular-boost\boost\range\mutable_iterator.hpp(35): error
C2146: syntax error : missing ';' before identifier 'type'
1> c:\development\modular-
boost\boost\range\mutable_iterator.hpp(42) : see reference to class
template instantiation
'boost::range_detail::extract_iterator<boost::container::stable_vector_detail::iterator<int
*,false>,void>' being compiled
1> c:\development\modular-
boost\boost\range\has_range_iterator.hpp(27) : see reference to class
template instantiation
'boost::range_mutable_iterator<boost::container::stable_vector_detail::iterator<int
*,false>>' being compiled
1> c:\development\modular-boost\boost\mpl\eval_if.hpp(41) : see
reference to class template instantiation
'boost::range_detail::has_type<boost::range_mutable_iterator<boost::container::stable_vector_detail::iterator<int
*,false>>,boost::mpl::bool_<false>>' being compiled
1> c:\development\modular-
boost\boost\range\has_range_iterator.hpp(73) : see reference to class
template instantiation
'boost::mpl::eval_if<boost::is_const<boost::container::stable_vector_detail::iterator<int
*,false>>,boost::range_detail::has_type<boost::range_detail::range_const_iterator<boost::container::stable_vector_detail::iterator<int
*,false>>,boost::mpl::bool_<false>>,boost::range_detail::has_type<boost::range_mutable_iterator<boost::container::stable_vector_detail::iterator<int
*,false>>,boost::mpl::bool_<false>>>' being compiled
1> c:\development\modular-boost\boost\mpl\if.hpp(63) : see
reference to class template instantiation
'boost::has_range_iterator<Source>' being compiled
1> with
1> [
1>
Source=boost::container::stable_vector_detail::iterator<int *,false>
1> ]
1> c:\development\modular-boost\boost\mpl\eval_if.hpp(40) : see
reference to class template instantiation 'boost::mpl::if_<C,F1,F2>' being
compiled
1> with
1> [
1>
C=boost::has_range_iterator<boost::container::stable_vector_detail::iterator<int
*,false>>
1> ,
F1=boost::range_iterator<boost::container::stable_vector_detail::iterator<int
*,false>>
1> , F2=boost::mpl::identity<void>
1> ]
1> c:\development\modular-
boost\boost\range\iterator_range_core.hpp(400) : see reference to class
template instantiation
'boost::mpl::eval_if<boost::has_range_iterator<Source>,boost::range_iterator<Source>,boost::mpl::identity<void>>'
being compiled
1> with
1> [
1>
Source=boost::container::stable_vector_detail::iterator<int *,false>
1> ]
1> c:\development\modular-boost\boost\utility\enable_if.hpp(36) :
see reference to class template instantiation
'boost::iterator_range<boost::container::stable_vector_detail::iterator<int
*,false>>::is_compatible_range<boost::container::stable_vector_detail::iterator<int
*,false>>' being compiled
1> c:\users\jsouthwell\documents\visual studio
2013\projects\consoleapplication6\consoleapplication6\consoleapplication6.cpp(15)
: see reference to class template instantiation
'boost::enable_if<boost::iterator_range<boost::container::stable_vector_detail::iterator<int
*,false>>::is_compatible_range<boost::container::stable_vector_detail::iterator<int
*,false>>,void>' being compiled
1>c:\development\modular-boost\boost\range\mutable_iterator.hpp(35): error
C3254:
'boost::range_detail::extract_iterator<boost::container::stable_vector_detail::iterator<int
*,false>,void>' : class contains explicit override '{ctor}' but does not
derive from an interface that contains the function declaration
1>c:\development\modular-boost\boost\range\mutable_iterator.hpp(35): error
C2838: '{ctor}' : illegal qualified name in member declaration
1>c:\development\modular-boost\boost\range\mutable_iterator.hpp(35): error
C2461:
'boost::range_detail::extract_iterator<boost::container::stable_vector_detail::iterator<int
*,false>,void>' : constructor syntax missing formal parameters
1>c:\development\modular-boost\boost\range\mutable_iterator.hpp(35): error
C4430: missing type specifier - int assumed. Note: C++ does not support
default-int
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9801> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:15 UTC