williamr@4: williamr@4: #ifndef BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED williamr@4: #define BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED williamr@4: williamr@4: // Copyright Aleksey Gurtovoy 2001-2004 williamr@2: // williamr@4: // Distributed under the Boost Software License, Version 1.0. williamr@4: // (See accompanying file LICENSE_1_0.txt or copy at williamr@4: // http://www.boost.org/LICENSE_1_0.txt) williamr@2: // williamr@4: // See http://www.boost.org/libs/mpl for documentation. williamr@2: williamr@4: // $Source: /cvsroot/boost/boost/boost/mpl/iterator_range.hpp,v $ williamr@4: // $Date: 2004/09/02 15:40:41 $ williamr@4: // $Revision: 1.4 $ williamr@2: williamr@4: #include williamr@4: #include williamr@2: williamr@4: namespace boost { namespace mpl { williamr@2: williamr@4: struct iterator_range_tag; williamr@2: williamr@4: template< williamr@4: typename BOOST_MPL_AUX_NA_PARAM(First) williamr@4: , typename BOOST_MPL_AUX_NA_PARAM(Last) williamr@4: > williamr@4: struct iterator_range williamr@4: { williamr@4: typedef iterator_range_tag tag; williamr@4: typedef iterator_range type; williamr@4: typedef First begin; williamr@4: typedef Last end; williamr@2: williamr@4: BOOST_MPL_AUX_LAMBDA_SUPPORT(2,iterator_range,(First,Last)) williamr@4: }; williamr@2: williamr@4: BOOST_MPL_AUX_NA_SPEC(2, iterator_range) williamr@2: williamr@4: }} williamr@2: williamr@4: #endif // BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED