summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/fusion/container/vector/detail/at_impl.hpp')
-rw-r--r--3rdParty/Boost/src/boost/fusion/container/vector/detail/at_impl.hpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/3rdParty/Boost/src/boost/fusion/container/vector/detail/at_impl.hpp b/3rdParty/Boost/src/boost/fusion/container/vector/detail/at_impl.hpp
index 0017d9c..eb09b21 100644
--- a/3rdParty/Boost/src/boost/fusion/container/vector/detail/at_impl.hpp
+++ b/3rdParty/Boost/src/boost/fusion/container/vector/detail/at_impl.hpp
@@ -1,12 +1,13 @@
/*=============================================================================
Copyright (c) 2001-2011 Joel de Guzman
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
#if !defined(FUSION_AT_IMPL_05042005_0741)
#define FUSION_AT_IMPL_05042005_0741
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/mpl/at.hpp>
@@ -25,14 +26,16 @@ namespace boost { namespace fusion
struct at_impl<vector_tag>
{
template <typename Sequence, typename N>
- struct apply
+ struct apply
{
typedef typename mpl::at<typename Sequence::types, N>::type element;
typedef typename detail::ref_result<element>::type type;
-
+
+ BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& v)
{
+ BOOST_STATIC_ASSERT((N::value < Sequence::size::value));
return v.at_impl(N());
}
};
@@ -42,10 +45,12 @@ namespace boost { namespace fusion
{
typedef typename mpl::at<typename Sequence::types, N>::type element;
typedef typename detail::cref_result<element>::type type;
-
+
+ BOOST_FUSION_GPU_ENABLED
static type
call(Sequence const& v)
{
+ BOOST_STATIC_ASSERT((N::value < Sequence::size::value));
return v.at_impl(N());
}
};