现在的位置: 首页 > 综合 > 正文

Web服务搜索与执行引擎(八)——WSDL解析精髓

2013年03月07日 ⁄ 综合 ⁄ 共 1412字 ⁄ 字号 评论关闭

在DocX中写重载函数的帮助

许式伟
2006-12-23

 

今天,我发布了DocX的一个重要升级。这个升级主要解决了一直以来困扰我很久的函数重载(function overload)问题。

原先,DocX只支持在主题文档(.man文件)中书写同名函数的帮助,而.h/.cpp等中无法做到。但是主题文档是我准备逐步淘汰的写法。为此我设想过多种解决方案,但是都是因为需要对目前的程序做重大调整而作罢(由于本身属于探索性质的,而且写DocX那会我刚好对模板特别热衷,我认为过于技术化了。DocX重构是迟早的事)。

今天收到 wang carl 先生的一封信,在信中,他给DocX提了一些宝贵的意见,并且发了他写的一个有问题的DocX样例给我。在其中,他用到了DocX目前并不支持的语法。

他这个样例给了我很大的启发,我马上意识到,他给了我一个可以解决困扰我很久的函数重载问题的方案。我马上动手,把他写的语法给支持了。

大体的文法如下:

    /*
    @fn setUserInput(string)
    @brief
        设置用户输入
    @arg [in] input
        string, the expression of the user input
    @
*/
    
void setUserInput(string input);

    /*
    @fn setUserInput(LPCSTR)
    @brief
        设置用户输入
    @arg [in] input
        string, the expression of the user input
    @
*/
    
void setUserInput(LPCSTR input);

同时,构造函数也支持重载:

/*
@class Input
@brief
    用于可编程计算器的表式达处理
@
*/
class Input
{
public:
    
/*
    @ctor()
    @brief
        构造函数,只将表达式清空
    @arg [in] chr
        char, the char which is to be checked
    @
*/
    Input();

    /*
    @ctor(string)
    @brief
        构造函数
    @arg [in] input
        string, the expression of the user input
    @
*/
    Input(
string input);
};

为了表示我的感谢,我把 wang carl 先生发给我的样例也附到发布包中作为样例提供了。参见:

对DocX感兴趣?您可以从以下链接下载:

关于DocX的一些背景,请参考:

下一步,DocX主要要解决以下问题:

  • Doxygen语法的兼容
  • 国际化,支持多种语言。

 

抱歉!评论已关闭.