/Src/Dependencies/Boost/boost/fusion/container/list/detail/end_impl.hpp
http://hadesmem.googlecode.com/ · C++ Header · 51 lines · 35 code · 9 blank · 7 comment · 0 complexity · 90bc1c27da223df191e7867c6264cbc4 MD5 · raw file
- /*=============================================================================
- Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2005 Eric Niebler
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- ==============================================================================*/
- #if !defined(FUSION_END_IMPL_07172005_0828)
- #define FUSION_END_IMPL_07172005_0828
- #include <boost/mpl/if.hpp>
- #include <boost/type_traits/is_const.hpp>
- namespace boost { namespace fusion
- {
- struct nil;
- struct cons_tag;
- template <typename Car, typename Cdr>
- struct cons;
- template <typename Cons>
- struct cons_iterator;
- namespace extension
- {
- template <typename Tag>
- struct end_impl;
- template <>
- struct end_impl<cons_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef cons_iterator<
- typename mpl::if_<is_const<Sequence>, nil const, nil>::type>
- type;
-
- static type
- call(Sequence&)
- {
- return type();
- }
- };
- };
- }
- }}
- #endif