libcopp  1.2.0
cmd_option_bindt_base.h
Go to the documentation of this file.
1 #ifndef UTIL_CLI_CMDOPTIONBINDTBASE_H
2 #define UTIL_CLI_CMDOPTIONBINDTBASE_H
3 
4 #pragma once
5 
6 /*
7  * cmd_option_bindt_base.h
8  *
9  * Created on: 2012-01-18
10  * Author: OWenT
11  *
12  * 绑定器基类及公共定义
13  */
14 
16 #include "cli/cmd_option_list.h"
17 
18 namespace util {
19  namespace cli {
20  // 标准指令处理函数参数类型
21 
22  // 标准指令处理函数(无返回值,参数为选项的映射表)
23  // void function_name (cmd_option_list&, [参数]); // 函数参数可选
24  // void function_name (callback_param, [参数]); // 函数参数可选
25 
26  // 绑定器集合
27  namespace binder {
28  // 函数、函数结构绑定器
29  template <class _F, class _PL>
31  protected:
32  _F func_obj_; // 函数结构
33  _PL param_list_; // 参数列表结构
34 
35  public:
37 
38  cmd_option_bindt(_F f, _PL l) : func_obj_(f), param_list_(l) {}
39 
40  void operator()(callback_param args) { param_list_(func_obj_, args, 0); }
41  };
42  } // namespace binder
43  } // namespace cli
44 } // namespace util
45 #endif /* _CMDOPTIONBINDTBASE_H_ */