git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Moved plugin-related things into a separate file.
[stg.git]
/
projects
/
sgconf
/
actions.h
diff --git
a/projects/sgconf/actions.h
b/projects/sgconf/actions.h
index 07bcfb8b22b19c58f803d03e8c8d85a53975a31a..08dc177eb9d3eadc575a3427260eec6d4aba376a 100644
(file)
--- a/
projects/sgconf/actions.h
+++ b/
projects/sgconf/actions.h
@@
-78,6
+78,10
@@
class PARAM_ACTION : public ACTION
m_description(paramDescription),
m_hasDefault(true)
{}
m_description(paramDescription),
m_hasDefault(true)
{}
+ PARAM_ACTION(RESETABLE<T> & param)
+ : m_param(param),
+ m_hasDefault(false)
+ {}
PARAM_ACTION(RESETABLE<T> & param,
const std::string & paramDescription)
: m_param(param),
PARAM_ACTION(RESETABLE<T> & param,
const std::string & paramDescription)
: m_param(param),
@@
-132,6
+136,14
@@
m_param = value;
return PARSER_STATE(false, --argc, ++argv);
}
return PARSER_STATE(false, --argc, ++argv);
}
+template <>
+inline
+PARSER_STATE PARAM_ACTION<bool>::Parse(int argc, char ** argv, void * /*data*/)
+{
+m_param = true;
+return PARSER_STATE(false, argc, argv);
+}
+
template <typename T>
inline
void PARAM_ACTION<T>::ParseValue(const std::string & stringValue)
template <typename T>
inline
void PARAM_ACTION<T>::ParseValue(const std::string & stringValue)
@@
-172,6
+184,13
@@
PARAM_ACTION<T> * MakeParamAction(RESETABLE<T> & param,
return new PARAM_ACTION<T>(param, defaultValue, paramDescription);
}
return new PARAM_ACTION<T>(param, defaultValue, paramDescription);
}
+template <typename T>
+inline
+PARAM_ACTION<T> * MakeParamAction(RESETABLE<T> & param)
+{
+return new PARAM_ACTION<T>(param);
+}
+
template <typename T>
inline
PARAM_ACTION<T> * MakeParamAction(RESETABLE<T> & param,
template <typename T>
inline
PARAM_ACTION<T> * MakeParamAction(RESETABLE<T> & param,