1
2#ifndef BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED
3#define BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED
4
5// Copyright Aleksey Gurtovoy 2001-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/fold.hpp>
18#include <boost/mpl/empty_base.hpp>
19#include <boost/mpl/aux_/na_spec.hpp>
20#include <boost/mpl/aux_/lambda_support.hpp>
21
22namespace boost { namespace mpl {
23
24template<
25 typename BOOST_MPL_AUX_NA_PARAM(Types_)
26 , typename BOOST_MPL_AUX_NA_PARAM(Node_)
27 , typename Root_ = empty_base
28 >
29struct inherit_linearly
30 : fold<Types_,Root_,Node_>
31{
32 BOOST_MPL_AUX_LAMBDA_SUPPORT(3,inherit_linearly,(Types_,Node_,Root_))
33};
34
35BOOST_MPL_AUX_NA_SPEC(2, inherit_linearly)
36
37}}
38
39#endif // BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED
40

source code of include/boost/mpl/inherit_linearly.hpp