x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
parser.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\test\utils\runtime\cla\parser.hpp
旋转
特效
属性
历史版本
// (C) Copyright Gennadiy Rozental 2005-2007. // Use, modification, and distribution are 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/libs/test for the library home page. // // File : $RCSfile$ // // Version : $Revision: 43798 $ // // Description : defines parser - public interface for CLA parsing and accessing // *************************************************************************** #ifndef BOOST_RT_CLA_PARSER_HPP_062604GER #define BOOST_RT_CLA_PARSER_HPP_062604GER // Boost.Runtime.Parameter #include
#include
#include
#include
#include
#include
// Boost #include
// STL #include
namespace boost { namespace BOOST_RT_PARAM_NAMESPACE { namespace cla { // ************************************************************************** // // ************** runtime::cla::parser ************** // // ************************************************************************** // namespace cla_detail { template
class global_mod_parser { public: global_mod_parser( parser& p, Modifier const& m ) : m_parser( p ) , m_modifiers( m ) {} template
global_mod_parser const& operator<<( shared_ptr
param ) const { param->accept_modifier( m_modifiers ); m_parser << param; return *this; } private: // Data members; parser& m_parser; Modifier const& m_modifiers; }; } // ************************************************************************** // // ************** runtime::cla::parser ************** // // ************************************************************************** // class parser { public: typedef std::list
::const_iterator param_iterator; // Constructor explicit parser( cstring program_name = cstring() ); // parameter list construction interface parser& operator<<( parameter_ptr param ); // parser and global parameters modifiers template
cla_detail::global_mod_parser
operator-( Modifier const& m ) { nfp::optionally_assign( m_traverser.p_separator.value, m, input_separator ); nfp::optionally_assign( m_traverser.p_ignore_mismatch.value, m, ignore_mismatch_m ); return cla_detail::global_mod_parser
( *this, m ); } // input processing method void parse( int& argc, char_type** argv ); // parameters access param_iterator first_param() const; param_iterator last_param() const; // arguments access const_argument_ptr operator[]( cstring string_id ) const; cstring get( cstring string_id ) const; template
T const& get( cstring string_id ) const { return arg_value
( valid_argument( string_id ) ); } template
void get( cstring string_id, boost::optional
& res ) const { const_argument_ptr arg = (*this)[string_id]; if( arg ) res = arg_value
( *arg ); else res.reset(); } // help/usage void usage( out_stream& ostr ); void help( out_stream& ostr ); private: argument const& valid_argument( cstring string_id ) const; // Data members argv_traverser m_traverser; std::list
m_parameters; dstring m_program_name; }; //____________________________________________________________________________// } // namespace cla } // namespace BOOST_RT_PARAM_NAMESPACE } // namespace boost #ifndef BOOST_RT_PARAM_OFFLINE # define BOOST_RT_PARAM_INLINE inline # include
#endif #endif // BOOST_RT_CLA_PARSER_HPP_062604GER
parser.hpp
网页地址
文件地址
上一页
22/30
下一页
下载
( 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.