x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
identity_converters.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\bimap\container_adaptor\detail\identity_converters.hpp
旋转
特效
属性
历史版本
// Boost.Bimap // // Copyright (c) 2006-2007 Matias Capeletto // // 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) /// \file container_adaptor/detail/identity_converters.hpp /// \brief Value and iterators identity converters. #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_IDENTITY_CONVERTERS_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_IDENTITY_CONVERTERS_HPP #if defined(_MSC_VER) && (_MSC_VER>=1200) #pragma once #endif #include
namespace boost { namespace bimaps { namespace container_adaptor { /// \brief Details of the container adaptor toolbox namespace detail { /// \brief Iterator identity converter used by default in container adaptors. /** If Iterator and ConstIterator are of the same type one of the convert function is not included. **/ template < class BaseIterator , class Iterator, class BaseConstIterator , class ConstIterator > struct iterator_to_base_identity { BaseIterator operator()(Iterator iter) const { return BaseIterator(iter); } BaseConstIterator operator()(ConstIterator iter) const { return BaseConstIterator(iter); } }; #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES template< class BaseIterator, class Iterator > struct iterator_to_base_identity
{ BaseIterator operator()(Iterator iter) const { return BaseIterator(iter); } }; #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES /// \brief Iterator from base identity converter used by default in container adaptors. /** If Iterator and ConstIterator are of the same type one of the convert function is not included. **/ template < class BaseIterator , class Iterator, class BaseConstIterator , class ConstIterator > struct iterator_from_base_identity { Iterator operator()(BaseIterator iter) const { return Iterator(iter); } ConstIterator operator()(BaseConstIterator iter) const { return ConstIterator(iter); } }; #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES template< class BaseIterator, class Iterator, class ConstIterator > struct iterator_from_base_identity
{ Iterator operator()(BaseIterator iter) const { return Iterator(iter); } }; #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES /// \brief Value to base identity converter used by default in container adaptors. template< class BaseValue, class Value > struct value_to_base_identity { BaseValue operator()(const Value & val) const { return BaseValue(val); } }; #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES template< class Value > struct value_to_base_identity< Value, Value > { const Value & operator()(const Value & val) const { return val; } }; #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES /// \brief Value from base identity converter used by default in container adaptors. template< class BaseValue, class Value > struct value_from_base_identity { Value operator()(const BaseValue & val) const { return Value(val); } }; #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES template< class Value > struct value_from_base_identity
{ Value & operator()(Value & val) const { return val; } const Value & operator()(const Value & val) const { return val; } }; #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES /// \brief Key to base identity converter used by default in container adaptors. template< class BaseKey, class Key > struct key_to_base_identity { BaseKey operator()(const Key & k) const { return BaseKey(k); } }; #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES template< class Key > struct key_to_base_identity< Key, Key > { // As default accept any type as key in order to allow container // adaptors to work with compatible key types template< class CompatibleKey > const CompatibleKey & operator()(const CompatibleKey & k) const { return k; } }; #endif // BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES } // namespace detail } // namespace container_adaptor } // namespace bimaps } // namespace boost #endif // BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_IDENTITY_CONVERTERS_HPP
identity_converters.hpp
网页地址
文件地址
上一页
3/5
下一页
下载
( 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.