single_view_begin_end_trts.hpp
来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 106 行
HPP
106 行
/*============================================================================= Copyright (c) 2003 Joel de Guzman Use, modification and distribution is subject to 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_SEQUENCE_DETAIL_SINGLE_VIEW_BEGIN_END_TRAITS_HPP)#define FUSION_SEQUENCE_DETAIL_SINGLE_VIEW_BEGIN_END_TRAITS_HPP#include <boost/spirit/fusion/detail/config.hpp>namespace boost { namespace fusion{ struct single_view_tag; template <typename T> struct single_view_iterator_end; template <typename T> struct single_view_iterator; namespace single_view_detail { template <typename Sequence> struct begin_traits_impl { typedef single_view_iterator< FUSION_GET_VALUE_TYPE(Sequence)> type; static type call(Sequence const& s); }; template <typename Sequence> inline typename begin_traits_impl<Sequence>::type begin_traits_impl<Sequence>::call(Sequence const& s) { return type(s.val); } template <typename Sequence> struct end_traits_impl { typedef single_view_iterator_end< FUSION_GET_VALUE_TYPE(Sequence)> type; static type call(Sequence const&); }; template <typename Sequence> inline typename end_traits_impl<Sequence>::type end_traits_impl<Sequence>::call(Sequence const&) { FUSION_RETURN_DEFAULT_CONSTRUCTED; } } namespace meta { template <typename Tag> struct begin_impl; template <> struct begin_impl<single_view_tag> { template <typename Sequence> struct apply : single_view_detail::begin_traits_impl<Sequence> {}; }; template <typename Tag> struct end_impl; template <> struct end_impl<single_view_tag> { template <typename Sequence> struct apply : single_view_detail::end_traits_impl<Sequence> {}; }; }}}namespace boost { namespace mpl{ template <typename Tag> struct begin_impl; template <typename Tag> struct end_impl; template <> struct begin_impl<fusion::single_view_tag> : fusion::meta::begin_impl<fusion::single_view_tag> {}; template <> struct end_impl<fusion::single_view_tag> : fusion::meta::end_impl<fusion::single_view_tag> {};}}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?