/*============================================================================= Copyright (c) 2003 Joel de Guzman Use, modification and distribution is subject to 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_SEQUENCE_RANGE_HPP) #define FUSION_SEQUENCE_RANGE_HPP #include #include #include #include namespace boost { namespace fusion { struct range_tag; template struct range : sequence_base > { typedef typename as_fusion_iterator::type begin_type; typedef typename as_fusion_iterator::type end_type; typedef range_tag tag; range(First const& first, Last const& last) : first(as_fusion_iterator::convert(first)) , last(as_fusion_iterator::convert(last)) {} begin_type first; end_type last; }; }} #endif