dual_name_parameter.ipp

来自「Boost provides free peer-reviewed portab」· IPP 代码 · 共 91 行

IPP
91
字号
//  (C) Copyright Gennadiy Rozental 2005-2008.//  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: 49312 $////  Description : implements model of generic parameter with dual naming// ***************************************************************************#ifndef BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER#define BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER// Boost.Runtime.Parameter#include <boost/test/utils/runtime/config.hpp>#include <boost/test/utils/runtime/validation.hpp>#include <boost/test/utils/runtime/cla/dual_name_parameter.hpp>namespace boost {namespace BOOST_RT_PARAM_NAMESPACE {namespace cla {// ************************************************************************** //// **************               dual_name_policy               ************** //// ************************************************************************** //BOOST_RT_PARAM_INLINE dual_name_policy::dual_name_policy(){    m_primary.accept_modifier( prefix = BOOST_RT_PARAM_CSTRING_LITERAL( "--" ) );    m_secondary.accept_modifier( prefix = BOOST_RT_PARAM_CSTRING_LITERAL( "-" ) );}//____________________________________________________________________________//namespace {template<typename K>inline voidsplit( string_name_policy& snp, char_name_policy& cnp, cstring src, K const& k ){    cstring::iterator sep = std::find( src.begin(), src.end(), BOOST_RT_PARAM_LITERAL( '|' ) );        if( sep != src.begin() )        snp.accept_modifier( k = cstring( src.begin(), sep ) );    if( sep != src.end() )        cnp.accept_modifier( k = cstring( sep+1, src.end() ) );}} // local namespaceBOOST_RT_PARAM_INLINE voiddual_name_policy::set_prefix( cstring src ){    split( m_primary, m_secondary, src, prefix );}//____________________________________________________________________________//BOOST_RT_PARAM_INLINE voiddual_name_policy::set_name( cstring src ){    split( m_primary, m_secondary, src, name );}//____________________________________________________________________________//BOOST_RT_PARAM_INLINE voiddual_name_policy::set_separator( cstring src ){    split( m_primary, m_secondary, src, separator );}//____________________________________________________________________________//} // namespace cla} // namespace BOOST_RT_PARAM_NAMESPACE} // namespace boost#endif // BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?