Hikyuu
Public 成员函数 | 静态 Public 成员函数 | 友元 | 所有成员列表

供需要命名参数设定的类使用 更多...

#include <Parameter.h>

Public 成员函数

 Parameter ()
 
 Parameter (const Parameter &)
 
virtual ~Parameter ()
 
Parameteroperator= (const Parameter &)
 
StringList getNameList () const
 获取所有参数名称列表 更多...
 
string getValueList () const
 返回形如"val1,val2,..."的字符串 更多...
 
string getNameValueList () const
 返回形如"name1=val1,name2=val2,..."的字符串 更多...
 
bool have (const string &name) const
 是否存在指定名称的参数 更多...
 
template<typename ValueType >
void set (const string &name, const ValueType &value)
 设定指定的参数值 更多...
 
template<typename ValueType >
ValueType get (const string &name) const
 获取指定的参数值 更多...
 

静态 Public 成员函数

static bool support (const boost::any &)
 

友元

class boost::serialization::access
 
HKU_API friend std::ostream & operator<< (std::ostream &os, const Parameter &param)
 

详细描述

供需要命名参数设定的类使用

在需要命名参数设定的类定义中,增加宏PARAMETER_SUPPORT,如:

#//C++示例:
class Test {
public:
Test();
virtual ~Test();
void change(int n);
void calculate();
};
Test::Test() {
addParam<int>("n", 10);
}
void Test::change(int n) {
setParam<int>("n", n);
}
void Test::calculate() {
int n = getParam<int>("n");
....
}
注解
由于Python的限制,目前只支持int、bool、double三种类型,增加新的类型支持,
需要修改以下几处,对于不支持的类型将在add时直接抛出异常,请勿捕捉次异常,
这样导致的程序终止,可以尽快补充需支持的类型:
1、Parameter::support
2、std::ostream& operator <<(std::ostream &os, const Parameter& param)
3、_Parameter.cpp中的AnyToPython、arameter::add<object>、Parameter::set<object>
4、Parameter::getValueList、getNameValueList
5、Parameter的序列化支持 
在Python中,增加和修改参数,需要先创建或获取Parameter对象实例,通过Parameter示例 造成,之后将Parameter实例直接设定修改,如: 1、在init中增加参数 param = Parameter(); param.add("n", 1") param.add("bool", false) self.setParameter(param) 2、修改参数 param = x.getParameter() param.set("n", 10) param.set("bool", true) x.setParameter(param)

构造及析构函数说明

hku::Parameter::Parameter ( )
hku::Parameter::Parameter ( const Parameter p)
hku::Parameter::~Parameter ( )
virtual

成员函数说明

template<typename ValueType >
ValueType hku::Parameter::get ( const string name) const

获取指定的参数值

参数
name参数名
返回
参数值
StringList hku::Parameter::getNameList ( ) const

获取所有参数名称列表

string hku::Parameter::getNameValueList ( ) const

返回形如"name1=val1,name2=val2,..."的字符串

string hku::Parameter::getValueList ( ) const

返回形如"val1,val2,..."的字符串

bool hku::Parameter::have ( const string name) const
inline

是否存在指定名称的参数

Parameter & hku::Parameter::operator= ( const Parameter p)
template<typename ValueType >
void hku::Parameter::set ( const string name,
const ValueType &  value 
)

设定指定的参数值

注解
已经存在的参数修改其值,不存在的参数进行增加
参数
name参数名称
value参数值
bool hku::Parameter::support ( const boost::any &  value)
static

友元及相关函数文档

friend class boost::serialization::access
friend
HKU_API friend std::ostream& operator<< ( std::ostream &  os,
const Parameter param 
)
friend

该类的文档由以下文件生成: