x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
escape.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\archive\iterators\escape.hpp
旋转
特效
属性
历史版本
#ifndef BOOST_ARCHIVE_ITERATORS_ESCAPE_HPP #define BOOST_ARCHIVE_ITERATORS_ESCAPE_HPP // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // escape.hpp // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . // 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) // See http://www.boost.org for updates, documentation, and revision history. #include
#include
// for BOOST_DEDUCED_TYPENAME #include
#include
namespace boost { namespace archive { namespace iterators { /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // insert escapes into text template
class escape : public boost::iterator_adaptor< Derived, Base, BOOST_DEDUCED_TYPENAME boost::iterator_value
::type, single_pass_traversal_tag, BOOST_DEDUCED_TYPENAME boost::iterator_value
::type > { typedef BOOST_DEDUCED_TYPENAME boost::iterator_value
::type base_value_type; typedef BOOST_DEDUCED_TYPENAME boost::iterator_reference
::type reference_type; friend class boost::iterator_core_access; typedef BOOST_DEDUCED_TYPENAME boost::iterator_adaptor< Derived, Base, base_value_type, single_pass_traversal_tag, base_value_type > super_t; typedef escape
this_t; void dereference_impl() { m_current_value = static_cast
(this)->fill(m_bnext, m_bend); m_full = true; } //Access the value referred to reference_type dereference() const { if(!m_full) const_cast
(this)->dereference_impl(); return m_current_value; } bool equal(const this_t & rhs) const { if(m_full){ if(! rhs.m_full) const_cast
(& rhs)->dereference_impl(); } else{ if(rhs.m_full) const_cast
(this)->dereference_impl(); } if(m_bnext != rhs.m_bnext) return false; if(this->base_reference() != rhs.base_reference()) return false; return true; } void increment(){ if(++m_bnext < m_bend){ m_current_value = *m_bnext; return; } ++(this->base_reference()); m_bnext = NULL; m_bend = NULL; m_full = false; } // buffer to handle pending characters const base_value_type *m_bnext; const base_value_type *m_bend; bool m_full; BOOST_DEDUCED_TYPENAME boost::iterator_value
::type m_current_value; public: escape(Base base) : super_t(base), m_bnext(NULL), m_bend(NULL), m_full(false) { } }; } // namespace iterators } // namespace archive } // namespace boost #endif // BOOST_ARCHIVE_ITERATORS_ESCAPE_HPP
escape.hpp
网页地址
文件地址
上一页
6/18
下一页
下载
( 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.