x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
index_node_base.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\multi_index\detail\index_node_base.hpp
旋转
特效
属性
历史版本
/* Copyright 2003-2007 Joaqu�n M L�pez Mu�oz. * 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) * * See http://www.boost.org/libs/multi_index for library home page. */ #ifndef BOOST_MULTI_INDEX_DETAIL_INDEX_NODE_BASE_HPP #define BOOST_MULTI_INDEX_DETAIL_INDEX_NODE_BASE_HPP #if defined(_MSC_VER)&&(_MSC_VER>=1200) #pragma once #endif #include
/* keep it first to prevent nasty warns in MSVC */ #include
#include
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) #include
#include
#include
#endif namespace boost{ namespace multi_index{ namespace detail{ /* index_node_base tops the node hierarchy of multi_index_container. It holds * the value of the element contained. */ template
struct pod_value_holder { typename aligned_storage< sizeof(Value), alignment_of
::value >::type space; }; template
struct index_node_base:private pod_value_holder
{ typedef index_node_base base_type; /* used for serialization purposes */ typedef Value value_type; typedef Allocator allocator_type; value_type& value() { return *static_cast
( static_cast
(&this->space)); } const value_type& value()const { return *static_cast
( static_cast
(&this->space)); } static index_node_base* from_value(const value_type* p) { return static_cast
( reinterpret_cast
*>( /* std 9.2.17 */ const_cast
(p))); } private: #if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) friend class boost::serialization::access; /* nodes do not emit any kind of serialization info. They are * fed to Boost.Serialization so that pointers to nodes are * tracked correctly. */ template
void serialize(Archive&,const unsigned int) { } #endif }; template
Node* node_from_value( const Value* p BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Node)) { typedef typename Node::allocator_type allocator_type; return static_cast
( index_node_base
::from_value(p)); } } /* namespace multi_index::detail */ } /* namespace multi_index */ #if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) /* Index nodes never get constructed directly by Boost.Serialization, * as archives are always fed pointers to previously existent * nodes. So, if this is called it means we are dealing with a * somehow invalid archive. */ #if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) namespace serialization{ #else namespace multi_index{ namespace detail{ #endif template
inline void load_construct_data( Archive&,boost::multi_index::detail::index_node_base
*, const unsigned int) { throw_exception( archive::archive_exception(archive::archive_exception::other_exception)); } #if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) } /* namespace serialization */ #else } /* namespace multi_index::detail */ } /* namespace multi_index */ #endif #endif } /* namespace boost */ #endif
index_node_base.hpp
网页地址
文件地址
上一页
19/44
下一页
下载
( 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.