Implement std::to_string for Android (#231)
This commit is contained in:
parent
e8600d1b80
commit
058de29628
4 changed files with 21 additions and 3 deletions
|
@ -26,6 +26,22 @@
|
||||||
#include "rmw/macros.h"
|
#include "rmw/macros.h"
|
||||||
#include "rmw/rmw.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 rclcpp
|
||||||
{
|
{
|
||||||
namespace utilities
|
namespace utilities
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#include "rclcpp/executor.hpp"
|
#include "rclcpp/executor.hpp"
|
||||||
#include "rclcpp/scope_exit.hpp"
|
#include "rclcpp/scope_exit.hpp"
|
||||||
|
#include "rclcpp/utilities.hpp"
|
||||||
|
|
||||||
#include "rcl_interfaces/msg/intra_process_message.hpp"
|
#include "rcl_interfaces/msg/intra_process_message.hpp"
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,14 @@
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
#include "rclcpp/parameter.hpp"
|
|
||||||
|
|
||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "rclcpp/parameter.hpp"
|
||||||
|
#include "rclcpp/utilities.hpp"
|
||||||
|
|
||||||
using rclcpp::parameter::ParameterType;
|
using rclcpp::parameter::ParameterType;
|
||||||
using rclcpp::parameter::ParameterVariant;
|
using rclcpp::parameter::ParameterVariant;
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ rclcpp::utilities::init(int argc, char * argv[])
|
||||||
// NOLINTNEXTLINE(runtime/arrays)
|
// NOLINTNEXTLINE(runtime/arrays)
|
||||||
char error_string[error_length];
|
char error_string[error_length];
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
#ifdef _GNU_SOURCE
|
#if (defined(_GNU_SOURCE) && !defined(ANDROID))
|
||||||
char * msg = strerror_r(errno, error_string, error_length);
|
char * msg = strerror_r(errno, error_string, error_length);
|
||||||
if (msg != error_string) {
|
if (msg != error_string) {
|
||||||
strncpy(error_string, msg, error_length);
|
strncpy(error_string, msg, error_length);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue