// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/strings/string_number_conversions_win.h" #include #include "base/strings/string_number_conversions_internal.h" #include "base/strings/string_piece.h" namespace base { std::wstring NumberToWString(int value) { return internal::IntToStringT(value); } std::wstring NumberToWString(unsigned value) { return internal::IntToStringT(value); } std::wstring NumberToWString(long value) { return internal::IntToStringT(value); } std::wstring NumberToWString(unsigned long value) { return internal::IntToStringT(value); } std::wstring NumberToWString(long long value) { return internal::IntToStringT(value); } std::wstring NumberToWString(unsigned long long value) { return internal::IntToStringT(value); } std::wstring NumberToWString(double value) { return internal::DoubleToStringT(value); } namespace internal { template <> class WhitespaceHelper { public: static bool Invoke(wchar_t c) { return 0 != iswspace(c); } }; } // namespace internal bool StringToInt(WStringPiece input, int* output) { return internal::StringToIntImpl(input, *output); } bool StringToUint(WStringPiece input, unsigned* output) { return internal::StringToIntImpl(input, *output); } bool StringToInt64(WStringPiece input, int64_t* output) { return internal::StringToIntImpl(input, *output); } bool StringToUint64(WStringPiece input, uint64_t* output) { return internal::StringToIntImpl(input, *output); } bool StringToSizeT(WStringPiece input, size_t* output) { return internal::StringToIntImpl(input, *output); } bool StringToDouble(WStringPiece input, double* output) { return internal::StringToDoubleImpl( input, reinterpret_cast(input.data()), *output); } } // namespace base