diff options
Diffstat (limited to 'boost/fusion/sequence/intrinsic/at.hpp')
-rw-r--r-- | boost/fusion/sequence/intrinsic/at.hpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/boost/fusion/sequence/intrinsic/at.hpp b/boost/fusion/sequence/intrinsic/at.hpp index fdfa72a60a..a103e078a2 100644 --- a/boost/fusion/sequence/intrinsic/at.hpp +++ b/boost/fusion/sequence/intrinsic/at.hpp @@ -10,12 +10,13 @@ #include <boost/fusion/support/config.hpp> #include <boost/mpl/int.hpp> #include <boost/mpl/if.hpp> +#include <boost/mpl/or.hpp> #include <boost/mpl/less.hpp> #include <boost/mpl/empty_base.hpp> #include <boost/type_traits/is_const.hpp> #include <boost/fusion/sequence/intrinsic_fwd.hpp> #include <boost/fusion/support/tag_of.hpp> -#include <boost/fusion/support/detail/access.hpp> +#include <boost/fusion/support/category_of.hpp> namespace boost { namespace fusion { @@ -64,7 +65,10 @@ namespace boost { namespace fusion template <typename Sequence, typename N, typename Tag> struct at_impl : mpl::if_< - mpl::less<N, typename extension::size_impl<Tag>::template apply<Sequence>::type> + mpl::or_< + mpl::less<N, typename extension::size_impl<Tag>::template apply<Sequence>::type> + , traits::is_unbounded<Sequence> + > , typename extension::at_impl<Tag>::template apply<Sequence, N> , mpl::empty_base >::type |