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

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

http://hadesmem.googlecode.com/
C++ Header | 39 lines | 27 code | 6 blank | 6 comment | 0 complexity | 7d2a2e5fcacf679fc1d707f77c53d559 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_POP_BACK_10022005_1801)
 8#define FUSION_POP_BACK_10022005_1801
 9
10#include <boost/mpl/pop_back.hpp>
11#include <boost/fusion/support/tag_of.hpp>
12#include <boost/fusion/algorithm/transformation/pop_back.hpp>
13#include <boost/fusion/sequence/convert.hpp>
14
15namespace boost { namespace mpl
16{
17    template <typename Tag>
18    struct pop_back_impl;
19
20    template <>
21    struct pop_back_impl<fusion::fusion_sequence_tag>
22    {
23        template <typename Sequence>
24        struct apply
25        {
26            typedef typename
27                fusion::result_of::pop_back<Sequence>::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