1
2#ifndef BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
3#define BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
4
5// Copyright Aleksey Gurtovoy 2000-2004
6//
7// Distributed under the Boost Software License, Version 1.0.
8// (See accompanying file LICENSE_1_0.txt or copy at
9// http://www.boost.org/LICENSE_1_0.txt)
10//
11// See http://www.boost.org/libs/mpl for documentation.
12
13// $Id$
14// $Date$
15// $Revision$
16
17#include <boost/mpl/push_front_fwd.hpp>
18#include <boost/mpl/next.hpp>
19#include <boost/mpl/list/aux_/item.hpp>
20#include <boost/mpl/list/aux_/tag.hpp>
21
22namespace boost { namespace mpl {
23
24template<>
25struct push_front_impl< aux::list_tag >
26{
27 template< typename List, typename T > struct apply
28 {
29 typedef l_item<
30 typename next<typename List::size>::type
31 , T
32 , typename List::type
33 > type;
34 };
35};
36
37}}
38
39#endif // BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
40

source code of include/boost/mpl/list/aux_/push_front.hpp