• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Formatting library for C++
2 //
3 // Copyright (c) 2012 - 2016, Victor Zverovich
4 // All rights reserved.
5 //
6 // For the license information refer to format.h.
7 
8 #include "fmt/format-inl.h"
9 
10 FMT_BEGIN_NAMESPACE
11 template struct FMT_API internal::basic_data<void>;
12 
13 // Workaround a bug in MSVC2013 that prevents instantiation of format_float.
14 int (*instantiate_format_float)(double, int, internal::float_specs,
15                                 internal::buffer<char>&) =
16     internal::format_float;
17 
18 #ifndef FMT_STATIC_THOUSANDS_SEPARATOR
19 template FMT_API internal::locale_ref::locale_ref(const std::locale& loc);
20 template FMT_API std::locale internal::locale_ref::get<std::locale>() const;
21 #endif
22 
23 // Explicit instantiations for char.
24 
25 template FMT_API std::string internal::grouping_impl<char>(locale_ref);
26 template FMT_API char internal::thousands_sep_impl(locale_ref);
27 template FMT_API char internal::decimal_point_impl(locale_ref);
28 
29 template FMT_API void internal::buffer<char>::append(const char*, const char*);
30 
31 template FMT_API void internal::arg_map<format_context>::init(
32     const basic_format_args<format_context>& args);
33 
34 template FMT_API std::string internal::vformat<char>(
35     string_view, basic_format_args<format_context>);
36 
37 template FMT_API format_context::iterator internal::vformat_to(
38     internal::buffer<char>&, string_view, basic_format_args<format_context>);
39 
40 template FMT_API int internal::snprintf_float(double, int,
41                                               internal::float_specs,
42                                               internal::buffer<char>&);
43 template FMT_API int internal::snprintf_float(long double, int,
44                                               internal::float_specs,
45                                               internal::buffer<char>&);
46 template FMT_API int internal::format_float(double, int, internal::float_specs,
47                                             internal::buffer<char>&);
48 template FMT_API int internal::format_float(long double, int,
49                                             internal::float_specs,
50                                             internal::buffer<char>&);
51 
52 // Explicit instantiations for wchar_t.
53 
54 template FMT_API std::string internal::grouping_impl<wchar_t>(locale_ref);
55 template FMT_API wchar_t internal::thousands_sep_impl(locale_ref);
56 template FMT_API wchar_t internal::decimal_point_impl(locale_ref);
57 
58 template FMT_API void internal::buffer<wchar_t>::append(const wchar_t*,
59                                                         const wchar_t*);
60 
61 template FMT_API std::wstring internal::vformat<wchar_t>(
62     wstring_view, basic_format_args<wformat_context>);
63 FMT_END_NAMESPACE
64