x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
transmogrify.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\xpressive\detail\static\transmogrify.hpp
旋转
特效
属性
历史版本
/////////////////////////////////////////////////////////////////////////////// // transmogrify.hpp // // Copyright 2007 Eric Niebler. 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) #ifndef BOOST_XPRESSIVE_DETAIL_STATIC_TRANSMOGRIFY_HPP_EAN_10_04_2005 #define BOOST_XPRESSIVE_DETAIL_STATIC_TRANSMOGRIFY_HPP_EAN_10_04_2005 // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif #include
// for std::strlen #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace boost { namespace xpressive { namespace detail { template
struct is_char_literal : mpl::or_
, is_same
> {}; /////////////////////////////////////////////////////////////////////////////// // transmogrify // template
struct default_transmogrify { typedef typename Traits::char_type char_type; typedef typename Traits::string_type string_type; typedef typename mpl::if_ < is_char_literal
, literal_matcher
, string_matcher
>::type type; template
static type call(Matcher2 const &m, Visitor &visitor) { return default_transmogrify::call_(m, visitor, is_char_literal
()); } template
static type call_(Matcher2 const &m, Visitor &visitor, mpl::true_) { char_type ch = char_cast
(m, visitor.traits()); return type(ch, visitor.traits()); } template
static type call_(Matcher2 const &m, Visitor &visitor, mpl::false_) { string_type str = string_cast
(m, visitor.traits()); return type(str, visitor.traits()); } }; template
struct default_transmogrify
{ typedef Matcher type; template
static Matcher2 const &call(Matcher2 const &m, dont_care) { return m; } }; template
struct transmogrify : default_transmogrify
{}; template
struct transmogrify
{ typedef assert_bol_matcher
type; template
static type call(Matcher2, Visitor &visitor) { return type(visitor.traits()); } }; template
struct transmogrify
{ typedef assert_eol_matcher
type; template
static type call(Matcher2, Visitor &visitor) { return type(visitor.traits()); } }; template
struct transmogrify
{ typedef logical_newline_matcher
type; template
static type call(Matcher2, Visitor &visitor) { return type(visitor.traits()); } }; template
struct transmogrify
> { // By design, we don't widen character ranges. typedef typename iterator_value
::type char_type; BOOST_MPL_ASSERT((is_same
)); typedef range_matcher
type; template
static type call(Matcher2 const &m, Visitor &visitor) { return type(m.ch_min_, m.ch_max_, m.not_, visitor.traits()); } }; template
struct transmogrify
{ typedef mark_matcher
type; template
static type call(Matcher2 const &m, Visitor &visitor) { return type(m.mark_number_, visitor.traits()); } }; template
struct transmogrify
{ typedef posix_charset_matcher
type; template
static type call(Matcher2 const &m, Visitor &visitor) { char const *name_end = m.name_ + std::strlen(m.name_); return type(visitor.traits().lookup_classname(m.name_, name_end, ICase::value), m.not_); } }; template
struct transmogrify
> { typedef set_matcher
type; template
static type call(Matcher2 m, Visitor &visitor) { m.nocase(visitor.traits()); return m; } }; template
struct transmogrify
> { typedef assert_word_matcher
type; template
static type call(dont_care, Visitor &visitor) { return type(visitor.traits()); } }; template
struct transmogrify
> > { typedef regex_byref_matcher
type; template
static type call(Matcher2 const &m, dont_care) { return type(detail::core_access
::get_regex_impl(m.get())); } }; template
struct transmogrify
const> > { typedef regex_byref_matcher
type; template
static type call(Matcher2 const &m, dont_care) { return type(detail::core_access
::get_regex_impl(m.get())); } }; template
struct transmogrify
> > { typedef regex_matcher
type; template
static type call(Matcher2 const &m, dont_care) { return type(m.get()); } }; template
struct transmogrify
{ typedef regex_byref_matcher
type; template
static type call(Matcher2, Visitor &visitor) { return type(visitor.self()); } }; }}} #endif
transmogrify.hpp
网页地址
文件地址
上一页
7/10
下一页
下载
( 8 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.