forked from boostorg/iterator
Merge pull request #14 from eldiener/develop
Changed needed for type_traits version2 to remove icexxx.hpp dependencies.
This commit is contained in:
@ -12,9 +12,10 @@
|
|||||||
#include <boost/type_traits/add_lvalue_reference.hpp>
|
#include <boost/type_traits/add_lvalue_reference.hpp>
|
||||||
#include <boost/iterator/detail/any_conversion_eater.hpp>
|
#include <boost/iterator/detail/any_conversion_eater.hpp>
|
||||||
#include <boost/mpl/bool.hpp>
|
#include <boost/mpl/bool.hpp>
|
||||||
|
#include <boost/mpl/aux_/lambda_support.hpp>
|
||||||
|
|
||||||
// should be the last #includes
|
// should be the last #includes
|
||||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
#include <boost/type_traits/integral_constant.hpp>
|
||||||
#include <boost/iterator/detail/config_def.hpp>
|
#include <boost/iterator/detail/config_def.hpp>
|
||||||
|
|
||||||
#ifndef BOOST_NO_IS_CONVERTIBLE
|
#ifndef BOOST_NO_IS_CONVERTIBLE
|
||||||
@ -136,13 +137,19 @@ namespace detail
|
|||||||
{};
|
{};
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
// Define the trait with full mpl lambda capability and various broken
|
template< typename T > struct is_lvalue_iterator
|
||||||
// compiler workarounds
|
: public ::boost::integral_constant<bool,::boost::iterators::detail::is_readable_lvalue_iterator_impl<T>::value>
|
||||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(
|
{
|
||||||
is_lvalue_iterator,T,::boost::iterators::detail::is_readable_lvalue_iterator_impl<T>::value)
|
public:
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_lvalue_iterator,(T))
|
||||||
|
};
|
||||||
|
|
||||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(
|
template< typename T > struct is_non_const_lvalue_iterator
|
||||||
is_non_const_lvalue_iterator,T,::boost::iterators::detail::is_non_const_lvalue_iterator_impl<T>::value)
|
: public ::boost::integral_constant<bool,::boost::iterators::detail::is_non_const_lvalue_iterator_impl<T>::value>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_non_const_lvalue_iterator,(T))
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace iterators
|
} // namespace iterators
|
||||||
|
|
||||||
|
@ -5,13 +5,14 @@
|
|||||||
# define IS_READABLE_ITERATOR_DWA2003112_HPP
|
# define IS_READABLE_ITERATOR_DWA2003112_HPP
|
||||||
|
|
||||||
#include <boost/mpl/bool.hpp>
|
#include <boost/mpl/bool.hpp>
|
||||||
|
#include <boost/mpl/aux_/lambda_support.hpp>
|
||||||
#include <boost/detail/iterator.hpp>
|
#include <boost/detail/iterator.hpp>
|
||||||
#include <boost/type_traits/add_lvalue_reference.hpp>
|
#include <boost/type_traits/add_lvalue_reference.hpp>
|
||||||
|
|
||||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
|
||||||
#include <boost/iterator/detail/any_conversion_eater.hpp>
|
#include <boost/iterator/detail/any_conversion_eater.hpp>
|
||||||
|
|
||||||
// should be the last #include
|
// should be the last #include
|
||||||
|
#include <boost/type_traits/integral_constant.hpp>
|
||||||
#include <boost/iterator/detail/config_def.hpp>
|
#include <boost/iterator/detail/config_def.hpp>
|
||||||
|
|
||||||
#ifndef BOOST_NO_IS_CONVERTIBLE
|
#ifndef BOOST_NO_IS_CONVERTIBLE
|
||||||
@ -97,10 +98,12 @@ namespace detail
|
|||||||
{};
|
{};
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
// Define the trait with full mpl lambda capability and various broken
|
template< typename T > struct is_readable_iterator
|
||||||
// compiler workarounds
|
: public ::boost::integral_constant<bool,::boost::iterators::detail::is_readable_iterator_impl2<T>::value>
|
||||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(
|
{
|
||||||
is_readable_iterator,T,::boost::iterators::detail::is_readable_iterator_impl2<T>::value)
|
public:
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_readable_iterator,(T))
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace iterators
|
} // namespace iterators
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user