catch2/include/internal/catch_to_string.hpp
Martin Hořeňovský 0074926e5c Provide a polyfill over std::to_string
Android apparently does not support `std::to_string`, so we add a
small polyfill over it. Right now only the ULP matcher uses it,
but we have had plans to use it in `StringMaker<int>` and friends,
as it performs a lot better than `std::stringstream` based
stringification on MSVC.

See #1280 for more details
2018-05-09 21:47:42 +02:00

29 lines
717 B
C++

/*
* Created by Martin on 9/5/2018.
*
* Distributed under the Boost Software License, Version 1.0. (See accompanying
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
*/
#ifndef TWOBLUECUBES_CATCH_TO_STRING_H_INCLUDED
#define TWOBLUECUBES_CATCH_TO_STRING_H_INCLUDED
#include <string>
#include "catch_compiler_capabilities.h"
#include "catch_stream.h"
namespace Catch {
template <typename T>
std::string to_string(T const& t) {
#if defined(CATCH_CONFIG_CPP11_TO_STRING)
return std::to_string(t);
#else
ReusableStringStream rss;
rss << t;
return rss.str();
#endif
}
} // end namespace Catch
#endif // TWOBLUECUBES_CATCH_TO_STRING_H_INCLUDED