1// Slightly modified version of fmt lib's format.cc (version 1.9.1) source file.
2// Copyright (c) 2012 - 2016, Victor Zverovich
3// All rights reserved.
4
5#ifndef SPDLOG_COMPILED_LIB
6# error Please define SPDLOG_COMPILED_LIB to compile this file.
7#endif
8
9#if !defined(SPDLOG_FMT_EXTERNAL) && !defined(SPDLOG_USE_STD_FORMAT)
10
11#include <spdlog/fmt/bundled/format-inl.h>
12
13FMT_BEGIN_NAMESPACE
14namespace detail {
15
16template FMT_API auto dragonbox::to_decimal(float x) noexcept
17 -> dragonbox::decimal_fp<float>;
18template FMT_API auto dragonbox::to_decimal(double x) noexcept
19 -> dragonbox::decimal_fp<double>;
20
21#ifndef FMT_STATIC_THOUSANDS_SEPARATOR
22template FMT_API locale_ref::locale_ref(const std::locale& loc);
23template FMT_API auto locale_ref::get<std::locale>() const -> std::locale;
24#endif
25
26// Explicit instantiations for char.
27
28template FMT_API auto thousands_sep_impl(locale_ref)
29 -> thousands_sep_result<char>;
30template FMT_API auto decimal_point_impl(locale_ref) -> char;
31
32template FMT_API void buffer<char>::append(const char*, const char*);
33
34// DEPRECATED!
35// There is no correspondent extern template in format.h because of
36// incompatibility between clang and gcc (#2377).
37template FMT_API void vformat_to(buffer<char>&, string_view,
38 basic_format_args<FMT_BUFFER_CONTEXT(char)>,
39 locale_ref);
40
41// Explicit instantiations for wchar_t.
42
43template FMT_API auto thousands_sep_impl(locale_ref)
44 -> thousands_sep_result<wchar_t>;
45template FMT_API auto decimal_point_impl(locale_ref) -> wchar_t;
46
47template FMT_API void buffer<wchar_t>::append(const wchar_t*, const wchar_t*);
48
49} // namespace detail
50FMT_END_NAMESPACE
51
52#endif // !SPDLOG_FMT_EXTERNAL
53