From e26d26d511559225159ab053e8fec6aced27e1f3 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Mon, 5 Oct 2009 22:30:23 +0000 Subject: [PATCH] Fusion: added size_impl for nview [SVN r56610] --- .../fusion/view/nview/detail/nview_impl.hpp | 2 +- .../fusion/view/nview/detail/size_impl.hpp | 38 +++++++++++++++++++ .../fusion/view/nview/nview_iterator.hpp | 1 + 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 include/boost/fusion/view/nview/detail/size_impl.hpp diff --git a/include/boost/fusion/view/nview/detail/nview_impl.hpp b/include/boost/fusion/view/nview/detail/nview_impl.hpp index deee9ded..03aa49f4 100644 --- a/include/boost/fusion/view/nview/detail/nview_impl.hpp +++ b/include/boost/fusion/view/nview/detail/nview_impl.hpp @@ -10,7 +10,7 @@ #if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) #define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM -//#include +#include #include #include #include diff --git a/include/boost/fusion/view/nview/detail/size_impl.hpp b/include/boost/fusion/view/nview/detail/size_impl.hpp new file mode 100644 index 00000000..0c834026 --- /dev/null +++ b/include/boost/fusion/view/nview/detail/size_impl.hpp @@ -0,0 +1,38 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + + 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_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM) +#define FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nview_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + : result_of::distance< + typename result_of::begin::type + , typename result_of::end::type> + {}; + }; + } +}} + +#endif + + diff --git a/include/boost/fusion/view/nview/nview_iterator.hpp b/include/boost/fusion/view/nview/nview_iterator.hpp index 12580749..60895093 100644 --- a/include/boost/fusion/view/nview/nview_iterator.hpp +++ b/include/boost/fusion/view/nview/nview_iterator.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include