]> git.lyx.org Git - lyx.git/blob - 3rdparty/boost/boost/fusion/container/list/nil.hpp
Update to boost 1.72
[lyx.git] / 3rdparty / boost / boost / fusion / container / list / nil.hpp
1 /*=============================================================================
2     Copyright (c) 2001-2011 Joel de Guzman
3     Copyright (c) 2005, 2014 Eric Niebler
4
5     Distributed under the Boost Software License, Version 1.0. (See accompanying 
6     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 ==============================================================================*/
8 #if !defined(FUSION_NIL_04232014_0843)
9 #define FUSION_NIL_04232014_0843
10
11 #include <boost/fusion/support/config.hpp>
12 #include <boost/fusion/container/list/cons_fwd.hpp>
13 #include <boost/fusion/support/sequence_base.hpp>
14 #include <boost/mpl/int.hpp>
15 #include <boost/mpl/bool.hpp>
16
17 namespace boost { namespace fusion
18 {
19     struct void_;
20     struct cons_tag;
21     struct forward_traversal_tag;
22     struct fusion_sequence_tag;
23
24     struct nil_ : sequence_base<nil_>
25     {
26         typedef mpl::int_<0> size;
27         typedef cons_tag fusion_tag;
28         typedef fusion_sequence_tag tag; // this gets picked up by MPL
29         typedef mpl::false_ is_view;
30         typedef forward_traversal_tag category;
31         typedef void_ car_type;
32         typedef void_ cdr_type;
33
34         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
35         nil_() BOOST_NOEXCEPT {}
36
37         template <typename Iterator>
38         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
39         nil_(Iterator const& /*iter*/, mpl::true_ /*this_is_an_iterator*/) BOOST_NOEXCEPT
40         {}
41
42         template <typename Iterator>
43         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
44         void assign_from_iter(Iterator const& /*iter*/) BOOST_NOEXCEPT
45         {
46         }
47     };
48 }}
49
50 #endif
51