Skip to content

The library fails to compile in Visual studio 2017 with std++17 #574

@tankiJong

Description

@tankiJong

Hi friends,

I was using the library with my project. Since I switch the project to C++17, error message pop up:
1>error C4996: 'std::iterator<_Category,_Ty,_Diff,_Pointer,_Reference>::value_type': warning STL4015: The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. (The <iterator> header is NOT deprecated.) The C++ Standard has never required user-defined iterators to derive from std::iterator. To fix this warning, stop deriving from std::iterator and start providing publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators. You can define _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
there is a related post about this.
Since it's easy fix one, I have already done a patch commit.

Could anyone help to review the commit? I can open a PR if it makes sense.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions