Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / mpl / set / aux_ / begin_end_impl.hpp
1
2 #ifndef BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
3 #define BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED
4
5 // Copyright Aleksey Gurtovoy 2003-2007
6 // Copyright David Abrahams 2003-2004
7 //
8 // Distributed under the Boost Software License, Version 1.0. 
9 // (See accompanying file LICENSE_1_0.txt or copy at 
10 // http://www.boost.org/LICENSE_1_0.txt)
11 //
12 // See http://www.boost.org/libs/mpl for documentation.
13
14 // $Id$
15 // $Date$
16 // $Revision$
17
18 #include <boost/mpl/begin_end_fwd.hpp>
19 #include <boost/mpl/set/aux_/iterator.hpp>
20
21 namespace boost { namespace mpl {
22
23 template<>
24 struct begin_impl< aux::set_tag >
25 {
26     template< typename Set > struct apply
27         : s_iter_get<Set,typename Set::item_>
28     {
29     };
30 };
31
32 template<>
33 struct end_impl< aux::set_tag >
34 {
35     template< typename Set > struct apply
36     {
37         typedef s_iter< Set,set0<> > type;
38     };
39 };
40
41 }}
42
43 #endif // BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED