Workaround for LWG 2408: SFINAE-friendly std::iterator_traits.

Now available for GCC(libstdc++v3) < 4.5 and MSVC 12.0.
It means, there is no ambiguous about calling next/prior/... via ADL.
This commit is contained in:
Kohei Takahashi
2015-02-05 23:04:36 +09:00
parent 5e4978b870
commit 6ab68a29d8
21 changed files with 202 additions and 0 deletions

View File

@ -135,4 +135,13 @@ namespace boost { namespace fusion
};
}}
#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408
namespace std
{
template <typename Derived, typename Iterator, typename Category>
struct iterator_traits< ::boost::fusion::iterator_adapter<Derived, Iterator, Category> >
{ };
}
#endif
#endif