fix ambiguous ctor

master
Daniel Kolesa 2016-08-31 21:46:25 +01:00
parent 1bd79d7589
commit 5ee9668bfc
2 changed files with 6 additions and 18 deletions

View File

@ -60,13 +60,9 @@ CsFvar::CsFvar(
p_storage(v), p_minval(m), p_maxval(x), p_overrideval(0)
{}
CsSvar::CsSvar(ostd::ConstCharRange name, ostd::ConstCharRange v, CsVarCb f, int fl):
CsSvar::CsSvar(ostd::ConstCharRange name, CsString v, CsVarCb f, int fl):
CsVar(CsIdentType::svar, name, ostd::move(f), fl),
p_storage(v), p_overrideval()
{}
CsSvar::CsSvar(ostd::ConstCharRange name, CsString &&v, CsVarCb f, int fl):
CsVar(CsIdentType::svar, name, ostd::move(f), fl),
p_storage(ostd::forward<CsString &&>(v)), p_overrideval()
p_storage(ostd::move(v)), p_overrideval()
{}
CsAlias::CsAlias(ostd::ConstCharRange name, char *a, int fl):
@ -239,11 +235,8 @@ void CsFvar::set_value(CsFloat val) {
ostd::ConstCharRange CsSvar::get_value() const {
return p_storage.iter();
}
void CsSvar::set_value(ostd::ConstCharRange val) {
p_storage = val;
}
void CsSvar::set_value(CsString &&val) {
p_storage = ostd::forward<CsString &&>(val);
void CsSvar::set_value(CsString val) {
p_storage = ostd::move(val);
}
void cs_init_lib_base(CsState &cs);

View File

@ -244,16 +244,11 @@ struct OSTD_EXPORT CsSvar: CsVar {
friend struct CsState;
ostd::ConstCharRange get_value() const;
void set_value(ostd::ConstCharRange val);
void set_value(CsString &&val);
void set_value(CsString val);
private:
CsSvar(
ostd::ConstCharRange n, ostd::ConstCharRange v, CsVarCb f = CsVarCb(),
int flags = 0
);
CsSvar(
ostd::ConstCharRange n, CsString &&v, CsVarCb f = CsVarCb(),
ostd::ConstCharRange n, CsString v, CsVarCb f = CsVarCb(),
int flags = 0
);