mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-23 09:07:26 +02:00
Use boost::declval instead of std::declval, close #10190.
Thanks-to: Niklas Angare
This commit is contained in:
committed by
Kohei Takahashi
parent
6b6d613e15
commit
3b3da1a10a
@ -9,6 +9,7 @@
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/support/detail/access.hpp>
|
||||
#include <boost/utility/declval.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
@ -27,7 +28,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
typedef mpl::int_<N::value> index;
|
||||
typedef
|
||||
decltype(std::declval<Sequence>().get(index()))
|
||||
decltype(boost::declval<Sequence>().get(index()))
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
@ -43,7 +44,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
typedef mpl::int_<N::value> index;
|
||||
typedef
|
||||
decltype(std::declval<Sequence const>().get(index()))
|
||||
decltype(boost::declval<Sequence const>().get(index()))
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/mpl/at.hpp>
|
||||
#include <boost/mpl/identity.hpp>
|
||||
#include <boost/utility/declval.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
@ -29,7 +30,7 @@ namespace boost { namespace fusion
|
||||
struct apply
|
||||
{
|
||||
typedef
|
||||
decltype(std::declval<Sequence>().get(mpl::identity<Key>()))
|
||||
decltype(boost::declval<Sequence>().get(mpl::identity<Key>()))
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
@ -44,7 +45,7 @@ namespace boost { namespace fusion
|
||||
struct apply<Sequence const, Key>
|
||||
{
|
||||
typedef
|
||||
decltype(std::declval<Sequence const>().get(mpl::identity<Key>()))
|
||||
decltype(boost::declval<Sequence const>().get(mpl::identity<Key>()))
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
|
@ -9,6 +9,7 @@
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/mpl/at.hpp>
|
||||
#include <boost/utility/declval.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
@ -27,7 +28,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
typedef mpl::int_<N::value> index;
|
||||
typedef
|
||||
decltype(std::declval<Sequence>().get_val(index()))
|
||||
decltype(boost::declval<Sequence>().get_val(index()))
|
||||
type;
|
||||
};
|
||||
};
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/mpl/at.hpp>
|
||||
#include <boost/mpl/identity.hpp>
|
||||
#include <boost/utility/declval.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
@ -29,7 +30,7 @@ namespace boost { namespace fusion
|
||||
struct apply
|
||||
{
|
||||
typedef
|
||||
decltype(std::declval<Sequence>().get_val(mpl::identity<Key>()))
|
||||
decltype(boost::declval<Sequence>().get_val(mpl::identity<Key>()))
|
||||
type;
|
||||
};
|
||||
};
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include <boost/fusion/iterator/iterator_facade.hpp>
|
||||
#include <boost/mpl/minus.hpp>
|
||||
#include <boost/mpl/equal_to.hpp>
|
||||
#include <boost/utility/declval.hpp>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
@ -37,7 +38,7 @@ namespace boost { namespace fusion
|
||||
typedef typename Iterator::sequence sequence;
|
||||
typedef typename Iterator::index index;
|
||||
typedef
|
||||
decltype(std::declval<sequence>().get_val(index()))
|
||||
decltype(boost::declval<sequence>().get_val(index()))
|
||||
type;
|
||||
};
|
||||
|
||||
@ -47,7 +48,7 @@ namespace boost { namespace fusion
|
||||
typedef typename Iterator::sequence sequence;
|
||||
typedef typename Iterator::index index;
|
||||
typedef
|
||||
decltype(std::declval<sequence>().get_val(index()).second)
|
||||
decltype(boost::declval<sequence>().get_val(index()).second)
|
||||
type;
|
||||
};
|
||||
|
||||
@ -56,7 +57,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
typedef typename Iterator::sequence sequence;
|
||||
typedef typename Iterator::index index;
|
||||
typedef decltype(std::declval<sequence>().get_key(index())) key_identity_type;
|
||||
typedef decltype(boost::declval<sequence>().get_key(index())) key_identity_type;
|
||||
typedef typename key_identity_type::type type;
|
||||
};
|
||||
|
||||
@ -66,7 +67,7 @@ namespace boost { namespace fusion
|
||||
typedef typename Iterator::sequence sequence;
|
||||
typedef typename Iterator::index index;
|
||||
typedef
|
||||
decltype(std::declval<sequence>().get(index()))
|
||||
decltype(boost::declval<sequence>().get(index()))
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
@ -83,7 +84,7 @@ namespace boost { namespace fusion
|
||||
typedef typename Iterator::sequence sequence;
|
||||
typedef typename Iterator::index index;
|
||||
typedef
|
||||
decltype(std::declval<sequence>().get(index()).second)
|
||||
decltype(boost::declval<sequence>().get(index()).second)
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
|
Reference in New Issue
Block a user