Chris@102: /*============================================================================= Chris@102: Copyright (c) 2001-2011 Joel de Guzman Chris@102: Copyright (c) 2005, 2014 Eric Niebler Chris@102: Chris@102: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@102: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@102: ==============================================================================*/ Chris@102: #if !defined(FUSION_NIL_04232014_0843) Chris@102: #define FUSION_NIL_04232014_0843 Chris@102: Chris@102: #include Chris@102: #include Chris@102: #include Chris@102: #include Chris@102: #include Chris@102: Chris@102: namespace boost { namespace fusion Chris@102: { Chris@102: struct void_; Chris@102: struct cons_tag; Chris@102: struct forward_traversal_tag; Chris@102: struct fusion_sequence_tag; Chris@102: Chris@102: struct nil_ : sequence_base Chris@102: { Chris@102: typedef mpl::int_<0> size; Chris@102: typedef cons_tag fusion_tag; Chris@102: typedef fusion_sequence_tag tag; // this gets picked up by MPL Chris@102: typedef mpl::false_ is_view; Chris@102: typedef forward_traversal_tag category; Chris@102: typedef void_ car_type; Chris@102: typedef void_ cdr_type; Chris@102: Chris@102: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Chris@102: nil_() BOOST_NOEXCEPT {} Chris@102: Chris@102: template Chris@102: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Chris@102: nil_(Iterator const& /*iter*/, mpl::true_ /*this_is_an_iterator*/) BOOST_NOEXCEPT Chris@102: {} Chris@102: Chris@102: template Chris@102: BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED Chris@102: void assign_from_iter(Iterator const& /*iter*/) BOOST_NOEXCEPT Chris@102: { Chris@102: } Chris@102: }; Chris@102: }} Chris@102: Chris@102: #endif Chris@102: