forked from boostorg/fusion
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
/*=============================================================================
|
|
Copyright (c) 2011 Eric Niebler
|
|
|
|
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(BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED)
|
|
#define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED
|
|
|
|
#include <boost/fusion/view/ext_/detail/begin_impl.hpp>
|
|
|
|
namespace boost { namespace fusion
|
|
{
|
|
template<typename Nodes>
|
|
struct segmented_iterator;
|
|
|
|
//auto segmented_begin( rng )
|
|
//{
|
|
// return make_segmented_iterator( segmented_begin_impl( rng, nil ) );
|
|
//}
|
|
|
|
template<typename Range>
|
|
struct segmented_begin
|
|
{
|
|
typedef
|
|
segmented_iterator<
|
|
typename detail::segmented_begin_impl<Range, fusion::nil>::type
|
|
>
|
|
type;
|
|
|
|
static type call(Range & rng)
|
|
{
|
|
return type(
|
|
detail::segmented_begin_impl<Range, fusion::nil>::call(rng, fusion::nil()));
|
|
}
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|