x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
multiple_view.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\fusion\view\ext_\multiple_view.hpp
旋转
特效
属性
历史版本
/*============================================================================= Copyright (c) 2001-2006 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) ==============================================================================*/ #ifndef FUSION_MULTIPLE_VIEW_05052005_0335 #define FUSION_MULTIPLE_VIEW_05052005_0335 #include
#include
#include
#include
#include
#include
#include
namespace boost { namespace fusion { struct multiple_view_tag; struct forward_traversal_tag; struct fusion_sequence_tag; template
struct multiple_view : sequence_base
> { typedef multiple_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef forward_traversal_tag category; typedef mpl::true_ is_view; typedef mpl::int_
size; typedef T value_type; multiple_view() : val() {} explicit multiple_view(typename detail::call_param
::type val) : val(val) {} value_type val; }; template
inline multiple_view
::type> make_multiple_view(T const& v) { return multiple_view
::type>(v); } struct multiple_view_iterator_tag; struct forward_traversal_tag; template
struct multiple_view_iterator : iterator_base
> { typedef multiple_view_iterator_tag fusion_tag; typedef forward_traversal_tag category; typedef typename MultipleView::value_type value_type; typedef MultipleView multiple_view_type; typedef Index index; explicit multiple_view_iterator(multiple_view_type const &view_) : view(view_) {} multiple_view_type view; }; namespace extension { template
struct next_impl; template <> struct next_impl
{ template
struct apply { typedef multiple_view_iterator< typename mpl::next
::type , typename Iterator::multiple_view_type > type; static type call(Iterator const &where) { return type(where.view); } }; }; template
struct end_impl; template <> struct end_impl
{ template
struct apply { typedef multiple_view_iterator< typename Sequence::size , Sequence > type; static type call(Sequence &seq) { return type(seq); } }; }; template
struct deref_impl; template <> struct deref_impl
{ template
struct apply { typedef typename Iterator::value_type type; static type call(Iterator const& i) { return i.view.val; } }; }; template
struct begin_impl; template <> struct begin_impl
{ template
struct apply { typedef multiple_view_iterator< mpl::int_<0> , Sequence > type; static type call(Sequence &seq) { return type(seq); } }; }; template
struct value_of_impl; template <> struct value_of_impl
{ template
struct apply { typedef typename Iterator::multiple_view_type multiple_view_type; typedef typename multiple_view_type::value_type type; }; }; } }} #endif
multiple_view.hpp
网页地址
文件地址
上一页 1/3
下一页
下载
( 4 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.