Re: [Boost-bugs] [Boost C++ Libraries] #4874: multi_array compile errors using Visual C++ 2010 in debug mode

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4874: multi_array compile errors using Visual C++ 2010 in debug mode
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-08-15 12:59:46


#4874: multi_array compile errors using Visual C++ 2010 in debug mode
-------------------------+-------------------------------------------------
  Reporter: chrislu | Owner: Ronald Garcia
      Type: Bugs | Status: reopened
 Milestone: To Be | Component: multi_array
  Determined |
   Version: Boost | Severity: Showstopper
  1.58.0 | Keywords: multi_array, Visual Studio 2010,
Resolution: | Visual C++ 2010 Visual C++ 2013
-------------------------+-------------------------------------------------

Comment (by kristian.bjerre.schmidt@…):

 I ran into this upgrading an old codebase to use Boost 1.64 and compile on
 windows in addition to linux.

 DISCLAIMER: I don't know what I'm doing. I'm quite new to c++, and I just
 fiddled around until something worked.

 Based on the answer from istanbul.tr, I made the following modifications:
 In multi_array/iterator.hpp line 69, I replaced
 boost::random_access_traversal_tag with std::random_access_iterator_tag

 In multi_array/base.hpp line 227, I added std::random_access_iterator_tag
 to the base classes of mutable_iterator_tag.
 This gives me a bunch of warnings that say that mutable_iterator_tag's
 base class std::input_iterator_tag is already a base class of
 std::random_access_iterator_tag. But now it works!

 Like I mentioned, I have no idea what I'm doing or why this exact
 configuration works. Any comments are appreciated, and hopefully this
 gives someone smarter than me a hint as to what needs to be done to fix
 this.

-- 
Ticket URL: <https://svn.boost.org/trac10/boost/ticket/4874#comment:43>
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-08-15 13:06:03 UTC