x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
array_iterator.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\fusion\adapted\array\array_iterator.hpp
旋转
特效
属性
历史版本
/*============================================================================= Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden 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(BOOST_FUSION_ARRAY_ITERATOR_26122005_2250) #define BOOST_FUSION_ARRAY_ITERATOR_26122005_2250 #include
#include
#include
#include
#include
#include
#include
#include
namespace boost { namespace fusion { struct random_access_traversal_tag; template
struct array_iterator : iterator_facade
, random_access_traversal_tag> { BOOST_MPL_ASSERT_RELATION(Pos, >=, 0); BOOST_MPL_ASSERT_RELATION(Pos, <=, Array::static_size); typedef mpl::int_
index; typedef Array array_type; array_iterator(Array& a) : array(a) {} Array& array; template
struct value_of { typedef typename Iterator::array_type array_type; typedef typename array_type::value_type type; }; template
struct deref { typedef typename Iterator::array_type array_type; typedef typename mpl::if_< is_const
, typename array_type::const_reference , typename array_type::reference >::type type; static type call(Iterator const & it) { return it.array[Iterator::index::value]; } }; template
struct advance { typedef typename Iterator::index index; typedef typename Iterator::array_type array_type; typedef array_iterator
type; static type call(Iterator const& i) { return type(i.array); } }; template
struct next : advance
> {}; template
struct prior : advance
> {}; template
struct distance : mpl::minus
{ typedef typename mpl::minus< typename I2::index, typename I1::index >::type type; static type call(I1 const&, I2 const&) { return type(); } }; private: array_iterator
& operator=(array_iterator
const&); }; }} #endif
array_iterator.hpp
网页地址
文件地址
上一页 1/2
下一页
下载
( 3 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.