mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-20 08:02:10 +02:00
A few simplifications with the help of Intel tech support
[SVN r21997]
This commit is contained in:
@ -32,10 +32,6 @@
|
|||||||
|
|
||||||
#include <boost/tuple/tuple.hpp>
|
#include <boost/tuple/tuple.hpp>
|
||||||
|
|
||||||
#if BOOST_WORKAROUND(__GNUC__, == 2) || BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
|
|
||||||
# include <boost/type_traits/remove_cv.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <boost/type_traits/is_same.hpp>
|
#include <boost/type_traits/is_same.hpp>
|
||||||
#include <boost/mpl/and.hpp>
|
#include <boost/mpl/and.hpp>
|
||||||
#include <boost/mpl/apply.hpp>
|
#include <boost/mpl/apply.hpp>
|
||||||
@ -106,23 +102,13 @@ namespace boost {
|
|||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
struct apply
|
struct apply
|
||||||
{
|
{
|
||||||
#if BOOST_WORKAROUND(__EDG_VERSION__, != 0) \
|
|
||||||
|| BOOST_WORKAROUND(__GNUC__, == 2) \
|
|
||||||
|| BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
|
|
||||||
typedef typename
|
typedef typename
|
||||||
iterator_traits<
|
iterator_traits<Iterator>::reference
|
||||||
typename boost::remove_cv<Iterator>::type
|
|
||||||
>::reference
|
|
||||||
type;
|
type;
|
||||||
#else
|
|
||||||
typedef typename
|
|
||||||
iterator_traits<Iterator>::reference
|
|
||||||
type;
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename Iterator>
|
template<typename Iterator>
|
||||||
typename apply<Iterator>::type operator()(Iterator& it)
|
typename apply<Iterator>::type operator()(Iterator const& it)
|
||||||
{ return *it; }
|
{ return *it; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user