Implement std::to_string for Android (#231)

This commit is contained in:
Esteve Fernandez 2016-06-29 01:20:59 +02:00 committed by William Woodall
parent e8600d1b80
commit 058de29628
4 changed files with 21 additions and 3 deletions

View file

@ -26,6 +26,22 @@
#include "rmw/macros.h"
#include "rmw/rmw.h"
#ifdef ANDROID
#include <string>
#include <sstream>
namespace std
{
template<typename T>
std::string to_string(T value)
{
std::ostringstream os;
os << value;
return os.str();
}
}
#endif
namespace rclcpp
{
namespace utilities

View file

@ -21,6 +21,7 @@
#include "rclcpp/executor.hpp"
#include "rclcpp/scope_exit.hpp"
#include "rclcpp/utilities.hpp"
#include "rcl_interfaces/msg/intra_process_message.hpp"

View file

@ -12,13 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "rclcpp/parameter.hpp"
#include <ostream>
#include <sstream>
#include <string>
#include <vector>
#include "rclcpp/parameter.hpp"
#include "rclcpp/utilities.hpp"
using rclcpp::parameter::ParameterType;
using rclcpp::parameter::ParameterVariant;

View file

@ -126,7 +126,7 @@ rclcpp::utilities::init(int argc, char * argv[])
// NOLINTNEXTLINE(runtime/arrays)
char error_string[error_length];
#ifndef _WIN32
#ifdef _GNU_SOURCE
#if (defined(_GNU_SOURCE) && !defined(ANDROID))
char * msg = strerror_r(errno, error_string, error_length);
if (msg != error_string) {
strncpy(error_string, msg, error_length);