This class provides a unified experience for nodes, nodelets and filters for getting ROS parameter values. Each parameter has to be provided a default value, and each parameter read is logged - specified parameters with INFO verbosity level, defaulted parameters with WARN level. There are also lots of template specializations for builtin ROS types or unsigned values which ease the process of reading the parameters correctly.
More...
|
::cras::LogHelperPtr | getLogger () const |
| Return the log helper used for logging. More...
|
|
inline ::std::string | getParam (const ::cras::GetParamAdapter ¶m, const ::std::string &name, const ::cras::optional< const char * > &defaultValue, const ::std::string &unit="", const ::cras::GetParamOptions<::std::string > &options={}) const |
| Get the value of the given ROS parameter, falling back to the specified default value (if not nullopt), and print out a ROS log message with the loaded values (if specified). More...
|
|
template<typename ResultType , typename ParamServerType = typename ::cras::DefaultParamServerType<ResultType>::type, ::cras::check_get_param_types< ResultType, ParamServerType > * = nullptr> |
ResultType | getParam (const ::cras::GetParamAdapter ¶m, const ::std::string &name, const ::cras::optional< ResultType > &defaultValue=ResultType(), const ::std::string &unit="", const ::cras::GetParamOptions< ResultType, ParamServerType > &options={}) const |
| Get the value of the given ROS parameter, falling back to the specified default value (if not nullopt), and print out a ROS log message with the loaded values (if specified). More...
|
|
inline ::std::string | getParam (const ::cras::GetParamAdapter ¶m, const ::std::string &name, const char *defaultValue, const ::std::string &unit="", const ::cras::GetParamOptions<::std::string > &options={}) const |
| Get the value of the given ROS parameter, falling back to the specified default value, and print out a ROS log message with the loaded values (if specified). More...
|
|
template<typename ResultType , typename ParamServerType = typename ::cras::DefaultParamServerType<ResultType>::type, ::cras::check_get_param_types< ResultType, ParamServerType > * = nullptr> |
ResultType | getParam (const ::cras::GetParamAdapter ¶m, const ::std::string &name, const ResultType &defaultValue=ResultType(), const ::std::string &unit="", const ::cras::GetParamOptions< ResultType, ParamServerType > &options={}) const |
| Get the value of the given ROS parameter, falling back to the specified default value, and print out a ROS log message with the loaded values (if specified). More...
|
|
inline ::cras::GetParamResult<::std::string > | getParamVerbose (const ::cras::GetParamAdapter ¶m, const ::std::string &name, const ::cras::optional< const char * > &defaultValue, const ::std::string &unit="", const ::cras::GetParamOptions<::std::string > &options={}) const |
| Get the value of the given ROS parameter, falling back to the specified default value (if not nullopt), and print out a ROS log message with the loaded values (if specified). More...
|
|
template<typename ResultType , typename ParamServerType = typename ::cras::DefaultParamServerType<ResultType>::type, ::cras::check_get_param_types< ResultType, ParamServerType > * = nullptr> |
inline ::cras::GetParamResult< ResultType > | getParamVerbose (const ::cras::GetParamAdapter ¶m, const ::std::string &name, const ::cras::optional< ResultType > &defaultValue=ResultType(), const ::std::string &unit="", const ::cras::GetParamOptions< ResultType, ParamServerType > &options={}) const |
| Get the value of the given ROS parameter, falling back to the specified default value (if not nullopt), and print out a ROS log message with the loaded values (if specified). More...
|
|
inline ::cras::GetParamResult<::std::string > | getParamVerbose (const ::cras::GetParamAdapter ¶m, const ::std::string &name, const char *defaultValue, const ::std::string &unit="", const ::cras::GetParamOptions<::std::string > &options={}) const |
| Get the value of the given ROS parameter, falling back to the specified default value, and print out a ROS log message with the loaded values (if specified). More...
|
|
template<typename ResultType , typename ParamServerType = typename ::cras::DefaultParamServerType<ResultType>::type, ::cras::check_get_param_types< ResultType, ParamServerType > * = nullptr> |
inline ::cras::GetParamResult< ResultType > | getParamVerbose (const ::cras::GetParamAdapter ¶m, const ::std::string &name, const ResultType &defaultValue=ResultType(), const ::std::string &unit="", const ::cras::GetParamOptions< ResultType, ParamServerType > &options={}) const |
| Get the value of the given ROS parameter, falling back to the specified default value, and print out a ROS log message with the loaded values (if specified). More...
|
|
| ParamHelper (const ::cras::LogHelperPtr &log) |
|
void | setLogger (const ::cras::LogHelperPtr &logger) |
| Set the log helper used for logging. More...
|
|
virtual | ~ParamHelper ()=default |
|
::cras::LogHelperConstPtr | getCrasLogger () const |
| This is the function picked up by CRAS_* logging macros. More...
|
|
| HasLogger (const ::cras::LogHelperPtr &log) |
| Associate the logger with this interface. More...
|
|
void | setCrasLogger (const ::cras::LogHelperPtr &log) |
| Set the logger to be used for logging. More...
|
|
This class provides a unified experience for nodes, nodelets and filters for getting ROS parameter values. Each parameter has to be provided a default value, and each parameter read is logged - specified parameters with INFO verbosity level, defaulted parameters with WARN level. There are also lots of template specializations for builtin ROS types or unsigned values which ease the process of reading the parameters correctly.
Definition at line 31 of file param_utils/param_helper.hpp.
template<typename ResultType , typename ParamServerType = typename ::cras::DefaultParamServerType<ResultType>::type, ::cras::check_get_param_types< ResultType, ParamServerType > * = nullptr>
inline ::cras::GetParamResult<ResultType> cras::ParamHelper::getParamVerbose |
( |
const ::cras::GetParamAdapter & |
param, |
|
|
const ::std::string & |
name, |
|
|
const ::cras::optional< ResultType > & |
defaultValue = ResultType() , |
|
|
const ::std::string & |
unit = "" , |
|
|
const ::cras::GetParamOptions< ResultType, ParamServerType > & |
options = {} |
|
) |
| const |
|
inline |
Get the value of the given ROS parameter, falling back to the specified default value (if not nullopt), and print out a ROS log message with the loaded values (if specified).
Overloads defining conversion to various types can be defined in several forms. You can either overload cras::convert() that converts the XmlRpcValue to an intermediate value, or you can make the intermediate value autoconvertible to the result type, or you can overload getParamVerbose() itself.
- Template Parameters
-
ResultType | Param type (the C++ type). It is converted from the intermediate ParamServerType using options.toResult function (which defaults to static_cast). |
ParamServerType | Intermediate type to which the XmlRpcValue read from parameter server is converted. The conversion is done using options.toParam function (which defaults to cras::convert). Most overloads of cras::convert are in xmlrpc_value_utils.hpp, but you can add your own. |
- Parameters
-
[in] | param | The parameter adapter from which parameters are read. |
[in] | name | Name of the parameter. |
[in] | defaultValue | The default value to use. If std::nullopt, then the parameter is required. If a required param is not found, a GetParamException is thrown. |
[in] | unit | Optional string serving as a [physical/SI] unit of the parameter, just to make the messages more informative. |
[in] | options | Options specifying detailed behavior of this function. Use the braced initializer syntax for comfortable writing, e.g. {.throwIfConvertFails = true, .allowNestedParams = false} . |
- Returns
- A wrapper containing the loaded parameter value and details about the function execution.
Definition at line 65 of file param_utils/param_helper.hpp.