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
17namespace 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
52

source code of include/boost/fusion/container/list/nil.hpp