boostorg / wave

Boost.org wave module
http://boost.org/libs/wave
21 stars 49 forks source link

Remove use of deprecated header boost/detail/iterator.hpp #91

Closed Lastique closed 4 years ago

Lastique commented 4 years ago

The header is deprecated in favor of <iterator>. It generates compiler warnings and will be removed in a future release.

Also, added a missing include for iterator_value trait.

jefftrull commented 4 years ago

Thanks for the PR @Lastique . Will this code work OK with C++03?

Lastique commented 4 years ago

Yes, I see no reason why it shouldn't.

jefftrull commented 4 years ago

Thank you. Do we need <iterator> at all? I don't see us using any iterator traits from std. Should we remove the Boost traits entirely and use std::iterator_traits<Iterator>::value_type instead?

Lastique commented 4 years ago

There is a call to std::advance down in the code.

jefftrull commented 4 years ago

Ah, OK. What do you think about replacing boost::iterators::iterator_value with std::iterator_traits<>::value_type and eliminating the Boost header entirely?

Lastique commented 4 years ago

Sure, I can do that.

Lastique commented 4 years ago

Done.

jefftrull commented 4 years ago

@Lastique Travis failed with a Clang issue related to Filesystem - it looks like you were the last to touch the associated file :) Would you be willing to look at the failure?

Lastique commented 4 years ago

That failure is unrelated to this PR. Looks like struct stat has unexpected layout on Darwin, which makes Boost.Filesystem fail to compile. I'll take care of that in Boost.Filesystem.

Lastique commented 4 years ago

You can restart the CI job, it should succeed now.