forked from boostorg/fusion
More constexpr and noexcept support.
Note 1: Forwarding functions are specified as a C++14 constexpr since std::forward is not a constexpr within C++11. Note 2: Though I'm not sure why it doesn't compile, some declarations are specified as a C++14 constexpr or non-constexpr. Note 3: Boost.Tuple adaptation and TR1-based tuple implementations are not constexpr.
This commit is contained in:
1 parent
d7c918e36f
commit
2114bfca6c
280 files changed
+1107
-935
No files matched your search
@@ -34,7 +34,7 @@ namespace boost { namespace fusion
|
||||
typename mpl::plus<typename Iterator::position, Dist>::type>
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(Iterator const& i)
|
||||
{
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace boost { namespace fusion
|
||||
BOOST_MPL_ASSERT((mpl::equal_to<N, mpl::int_<0> >));
|
||||
typedef typename Sequence::value_type type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(Sequence& seq)
|
||||
{
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
typedef single_view_iterator<Sequence, mpl::int_<0> > type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(Sequence& seq)
|
||||
{
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace boost { namespace fusion
|
||||
BOOST_MPL_ASSERT((mpl::equal_to<typename Iterator::position, mpl::int_<0> >));
|
||||
typedef typename Iterator::value_type type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(Iterator const& i)
|
||||
{
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace boost { namespace fusion
|
||||
typedef typename mpl::minus<typename Last::position,
|
||||
typename First::position>::type type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(First const& /*first*/, Last const& /*last*/)
|
||||
{
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
typedef single_view_iterator<Sequence, mpl::int_<1> > type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(Sequence& seq)
|
||||
{
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace boost { namespace fusion
|
||||
typename mpl::next<typename Iterator::position>::type>
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(Iterator const& i)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace boost { namespace fusion
|
||||
typename mpl::prior<typename Iterator::position>::type>
|
||||
type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
static type
|
||||
call(Iterator const& i)
|
||||
{
|
||||
|
||||
@@ -43,18 +43,19 @@ namespace boost { namespace fusion
|
||||
typedef mpl::int_<1> size;
|
||||
typedef T value_type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
single_view()
|
||||
: val() {}
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED explicit single_view(typename detail::call_param<T>::type in_val)
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
explicit single_view(typename detail::call_param<T>::type in_val)
|
||||
: val(in_val) {}
|
||||
|
||||
value_type val;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
BOOST_FUSION_GPU_ENABLED
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
inline single_view<typename detail::as_fusion_element<T>::type>
|
||||
make_single_view(T const& v)
|
||||
{
|
||||
|
||||
@@ -40,7 +40,8 @@ namespace boost { namespace fusion
|
||||
typedef Pos position;
|
||||
typedef SingleView single_view_type;
|
||||
|
||||
BOOST_FUSION_GPU_ENABLED explicit single_view_iterator(single_view_type& in_view)
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
explicit single_view_iterator(single_view_type& in_view)
|
||||
: view(in_view) {}
|
||||
|
||||
SingleView& view;
|
||||
|
||||
Reference in new issue
Block a user