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