PageRenderTime 4ms CodeModel.GetById 1ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/fusion/mpl/push_back.hpp

http://hadesmem.googlecode.com/
C++ Header | 39 lines | 27 code | 6 blank | 6 comment | 0 complexity | 43024b2f4014028dbf53fce9781d61fe MD5 | raw file
 1/*=============================================================================
 2    Copyright (c) 2001-2006 Joel de Guzman
 3
 4    Distributed under the Boost Software License, Version 1.0. (See accompanying
 5    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 6==============================================================================*/
 7#if !defined(FUSION_PUSH_BACK_10022005_1647)
 8#define FUSION_PUSH_BACK_10022005_1647
 9
10#include <boost/mpl/push_back.hpp>
11#include <boost/fusion/support/tag_of.hpp>
12#include <boost/fusion/algorithm/transformation/push_back.hpp>
13#include <boost/fusion/sequence/convert.hpp>
14
15namespace boost { namespace mpl
16{
17    template <typename Tag>
18    struct push_back_impl;
19
20    template <>
21    struct push_back_impl<fusion::fusion_sequence_tag>
22    {
23        template <typename Sequence, typename T>
24        struct apply
25        {
26            typedef typename
27                fusion::result_of::push_back<Sequence, T>::type
28            result;
29
30            typedef typename
31                fusion::result_of::convert<
32                    typename fusion::detail::tag_of<Sequence>::type, result>::type
33            type;
34        };
35    };
36}}
37
38#endif
39