From 7c54d94cbd3acf04768bcb2328d3855bebfa8344 Mon Sep 17 00:00:00 2001 From: Esteve Fernandez Date: Fri, 1 May 2015 12:17:37 -0700 Subject: [PATCH] Added explicit constructors for int and float --- rclcpp/include/rclcpp/parameter.hpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/rclcpp/include/rclcpp/parameter.hpp b/rclcpp/include/rclcpp/parameter.hpp index 6c318fa..bdacfe9 100644 --- a/rclcpp/include/rclcpp/parameter.hpp +++ b/rclcpp/include/rclcpp/parameter.hpp @@ -57,31 +57,43 @@ public: { value_.parameter_type = rcl_interfaces::ParameterType::PARAMETER_NOT_SET; } - ParameterVariant(const std::string & name, const bool bool_value) + explicit ParameterVariant(const std::string & name, const bool bool_value) : name_(name) { value_.bool_value = bool_value; value_.parameter_type = rcl_interfaces::ParameterType::PARAMETER_BOOL; } - ParameterVariant(const std::string & name, const int64_t int_value) + explicit ParameterVariant(const std::string & name, const int int_value) : name_(name) { value_.integer_value = int_value; value_.parameter_type = rcl_interfaces::ParameterType::PARAMETER_INTEGER; } - ParameterVariant(const std::string & name, const double double_value) + explicit ParameterVariant(const std::string & name, const int64_t int_value) + : name_(name) + { + value_.integer_value = int_value; + value_.parameter_type = rcl_interfaces::ParameterType::PARAMETER_INTEGER; + } + explicit ParameterVariant(const std::string & name, const float double_value) : name_(name) { value_.double_value = double_value; value_.parameter_type = rcl_interfaces::ParameterType::PARAMETER_DOUBLE; } - ParameterVariant(const std::string & name, const std::string & string_value) + explicit ParameterVariant(const std::string & name, const double double_value) + : name_(name) + { + value_.double_value = double_value; + value_.parameter_type = rcl_interfaces::ParameterType::PARAMETER_DOUBLE; + } + explicit ParameterVariant(const std::string & name, const std::string & string_value) : name_(name) { value_.string_value = string_value; value_.parameter_type = rcl_interfaces::ParameterType::PARAMETER_STRING; } - ParameterVariant(const std::string & name, const std::vector & bytes_value) + explicit ParameterVariant(const std::string & name, const std::vector & bytes_value) : name_(name) { value_.bytes_value = bytes_value;