x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
language_support.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\wave\language_support.hpp
旋转
特效
属性
历史版本
/*============================================================================= Boost.Wave: A Standard compliant C++ preprocessor library Definition of the various language support constants http://www.boost.org/ Copyright (c) 2001-2008 Hartmut Kaiser. 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) =============================================================================*/ #if !defined(LANGUAGE_SUPPORT_HPP_93EDD057_2DEF_44BC_BC9F_FDABB9F51AFA_INCLUDED) #define LANGUAGE_SUPPORT_HPP_93EDD057_2DEF_44BC_BC9F_FDABB9F51AFA_INCLUDED #include
// this must occur after all of the includes and before any code appears #ifdef BOOST_HAS_ABI_HEADERS #include BOOST_ABI_PREFIX #endif /////////////////////////////////////////////////////////////////////////////// namespace boost { namespace wave { enum language_support { // support flags for C++98 support_normal = 0x01, support_cpp = support_normal, support_option_long_long = 0x02, #if BOOST_WAVE_SUPPORT_VARIADICS_PLACEMARKERS != 0 // support flags for C99 support_option_variadics = 0x04, support_c99 = support_option_variadics | support_option_long_long | 0x08, #endif support_option_mask = 0xFF80, support_option_insert_whitespace = 0x0080, support_option_preserve_comments = 0x0100, support_option_no_character_validation = 0x0200, support_option_convert_trigraphs = 0x0400, support_option_single_line = 0x0800, support_option_prefer_pp_numbers = 0x1000, support_option_emit_line_directives = 0x2000, support_option_include_guard_detection = 0x4000, support_option_emit_pragma_directives = 0x8000 }; /////////////////////////////////////////////////////////////////////////////// // // need_cpp // // Extract, if the language to support is C++98 // /////////////////////////////////////////////////////////////////////////////// inline bool need_cpp(language_support language) { return (language & ~support_option_mask) == support_cpp; } #if BOOST_WAVE_SUPPORT_VARIADICS_PLACEMARKERS != 0 /////////////////////////////////////////////////////////////////////////////// // // need_c99 // // Extract, if the language to support is C99 // /////////////////////////////////////////////////////////////////////////////// inline bool need_c99(language_support language) { return (language & ~support_option_mask) == support_c99; } #else // BOOST_WAVE_SUPPORT_VARIADICS_PLACEMARKERS != 0 /////////////////////////////////////////////////////////////////////////////// inline bool need_variadics(language_support language) { return false; } /////////////////////////////////////////////////////////////////////////////// inline language_support enable_variadics(language_support language, bool enable = true) { return language; } ////////////////////////////////////////////////////////////////////////////// inline bool need_c99(language_support language) { return false; } #endif // BOOST_WAVE_SUPPORT_VARIADICS_PLACEMARKERS != 0 /////////////////////////////////////////////////////////////////////////////// // // get_support_options // // Set preserve comments support in the language to support // /////////////////////////////////////////////////////////////////////////////// inline language_support get_support_options(language_support language) { return static_cast
(language & support_option_mask); } /////////////////////////////////////////////////////////////////////////////// // // set_support_options // // Set language option (for fine tuning of lexer behavior) // /////////////////////////////////////////////////////////////////////////////// inline language_support set_support_options(language_support language, language_support option) { return static_cast
( (language & ~support_option_mask) | (option & support_option_mask)); } /////////////////////////////////////////////////////////////////////////////// // Get and set different language options #define BOOST_WAVE_NEED_OPTION(option) \ inline bool need_ ## option(language_support language) \ { \ return (language & support_option_ ## option) ? true : false; \ } \ /**/ #define BOOST_WAVE_ENABLE_OPTION(option) \ inline language_support \ enable_ ## option(language_support language, bool enable = true) \ { \ if (enable) \ return static_cast
(language | support_option_ ## option); \ return static_cast
(language & ~support_option_ ## option); \ } \ /**/ #define BOOST_WAVE_OPTION(option) \ BOOST_WAVE_NEED_OPTION(option) \ BOOST_WAVE_ENABLE_OPTION(option) \ /**/ /////////////////////////////////////////////////////////////////////////////// BOOST_WAVE_OPTION(long_long) // support_option_long_long BOOST_WAVE_OPTION(no_character_validation) // support_option_no_character_validation BOOST_WAVE_OPTION(preserve_comments) // support_option_preserve_comments BOOST_WAVE_OPTION(prefer_pp_numbers) // support_option_prefer_pp_numbers BOOST_WAVE_OPTION(emit_line_directives) // support_option_emit_line_directives BOOST_WAVE_OPTION(single_line) // support_option_single_line BOOST_WAVE_OPTION(convert_trigraphs) // support_option_convert_trigraphs #if BOOST_WAVE_SUPPORT_PRAGMA_ONCE != 0 BOOST_WAVE_OPTION(include_guard_detection) // support_option_include_guard_detection #endif #if BOOST_WAVE_SUPPORT_VARIADICS_PLACEMARKERS != 0 BOOST_WAVE_OPTION(variadics) // support_option_variadics #endif #if BOOST_WAVE_EMIT_PRAGMA_DIRECTIVES != 0 BOOST_WAVE_OPTION(emit_pragma_directives) // support_option_emit_pragma_directives #endif BOOST_WAVE_OPTION(insert_whitespace) // support_option_insert_whitespace #undef BOOST_WAVE_NEED_OPTION #undef BOOST_WAVE_ENABLE_OPTION #undef BOOST_WAVE_OPTION /////////////////////////////////////////////////////////////////////////////// } // namespace wave } // namespace boost // the suffix header occurs after all of the code #ifdef BOOST_HAS_ABI_HEADERS #include BOOST_ABI_SUFFIX #endif #endif // !defined(LANGUAGE_SUPPORT_HPP_93EDD057_2DEF_44BC_BC9F_FDABB9F51AFA_INCLUDED)
language_support.hpp
网页地址
文件地址
上一页
5/11
下一页
下载
( 7 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.