x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
array.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\serialization\array.hpp
旋转
特效
属性
历史版本
#ifndef BOOST_SERIALIZATION_ARRAY_HPP #define BOOST_SERIALIZATION_ARRAY_HPP // (C) Copyright 2005 Matthias Troyer and Dave Abrahams // 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) #include
#include
#include
#include
#include
#include
#include
namespace boost { namespace serialization { template
class array : public wrapper_traits
> { public: typedef T value_type; array(value_type* t, std::size_t s) : m_t(t), m_element_count(s) {} // default implementation template
void serialize(Archive &ar, const unsigned int) const { // default implemention does the loop std::size_t c = count(); value_type * t = address(); while(0 < c--) ar & make_nvp("item", *t++); } value_type* address() const { return m_t; } std::size_t count() const { return m_element_count; } private: value_type* m_t; std::size_t const m_element_count; }; template
inline #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING const #endif array
make_array( T* t, std::size_t s){ return array
(t, s); } /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // T[N] /* template
void save( Archive & ar, U const (& t)[N], const unsigned int file_version ) { const serialization::collection_size_type count(N); ar << BOOST_SERIALIZATION_NVP(count); if (N) ar << serialization::make_array(&t[0],N); } template
void load( Archive & ar, U (& t)[N], const unsigned int file_version ) { serialization::collection_size_type count; ar >> BOOST_SERIALIZATION_NVP(count); if(count > N) boost::throw_exception(archive::archive_exception( boost::archive::archive_exception::array_size_too_short )); if (N) ar >> serialization::make_array(&t[0],count); } // split non-intrusive serialization function member into separate // non intrusive save/load member functions template
inline void serialize( Archive & ar, U (& t)[N], const unsigned int file_version) { boost::serialization::split_free(ar, t, file_version); } */ } } // end namespace boost::serialization #endif //BOOST_SERIALIZATION_ARRAY_HPP
array.hpp
网页地址
文件地址
上一页
2/51
下一页
下载
( 2 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.