Commit Graph

1262 Commits

Author SHA1 Message Date
Victor Zverovich
d0623de510 Bump version 2020-05-09 10:57:04 -07:00
Markus Werle
73e335ed38
Make implicit capture explicit for C++20 (#1669) 2020-05-09 10:55:37 -07:00
Vladimir Solontsov
68201831a5
Support named args in dynamic_format_arg_store (#1655). (#1663)
Dynamic arguments storage. Implementation of enhancement from issue
#1170.
2020-05-09 06:25:03 -07:00
Victor Zverovich
7f723fbcb8 Consistently namespace qualify size_t 2020-05-07 15:59:46 -07:00
Victor Zverovich
c06851456d Purge basic_writer 2020-05-07 15:04:48 -07:00
Victor Zverovich
2f05054dd3 Purge basic_writer 2020-05-07 11:35:41 -07:00
Victor Zverovich
f0ce21164c Revert enum change 2020-05-07 07:25:33 -07:00
peterbell10
44639b11fe
Fix some warnings (#1667)
* Fix sign-conversion warning

* Add missing "extern template" declarations for non-header-only build

* Use typed enums to fix Wsigned-enum-bitfield warnings

* Consolidate FMT_HEADER_ONLY code
2020-05-07 06:14:07 -07:00
Victor Zverovich
1c86a99e8f Purge basic_writer 2020-05-06 18:46:01 -07:00
Victor Zverovich
8f511fc12f Make copyfmt not throw (#1666) 2020-05-06 17:38:46 -07:00
Victor Zverovich
b0f47a13e6 Separate nonfinite formatting 2020-05-06 07:19:37 -07:00
Victor Zverovich
d6cea50d01 Remove deprecated APIs 2020-05-05 20:03:48 -07:00
Victor Zverovich
40bc7163fb Move FMT_MAYBE_UNUSED to where it's actually used 2020-05-05 19:41:07 -07:00
Victor Zverovich
080e44d0bf Fix inconsistent type detection (#1662) 2020-05-05 19:09:21 -07:00
James Beach
7e57cace5d
Exclude std::abort from compilation when compiling CUDA with Clang (#1661) 2020-05-04 06:21:21 -07:00
Victor Zverovich
7b66e2f219 Inherit arg_formatter_base from basic_writer 2020-05-03 21:05:45 -07:00
Victor Zverovich
bab3f58003 Refactor pointer formatting 2020-05-03 20:33:25 -07:00
Victor Zverovich
9cc7edfddc Move int_writer to the namespace scope 2020-05-03 17:34:48 -07:00
Victor Zverovich
8d9d528bf5 Improve handling of alignment 2020-05-03 10:58:18 -07:00
Victor Zverovich
8efd1a8ef6 Improve handling of alignment 2020-05-03 10:08:57 -07:00
Victor Zverovich
a71bc9c825 Use '0' fill with numeric align for consistency with std::format 2020-05-03 09:52:31 -07:00
Victor Zverovich
60d85d598c Suppress ubsan warning 2020-05-03 08:43:10 -07:00
Victor Zverovich
c3099beb6f Cleanup 2020-05-02 22:00:34 -07:00
Victor Zverovich
cbb4cb8991 Remove undocumented deprecated APIs 2020-05-02 21:34:44 -07:00
Victor Zverovich
b85e9ac38b Simplify vformat_to 2020-05-02 21:34:44 -07:00
Victor Zverovich
e3710ab972 FMT_CONSTEXPR -> constexpr 2020-05-02 21:34:44 -07:00
Victor Zverovich
d6abb2fa03 Reduce library size 2020-05-01 17:23:45 -07:00
Victor Zverovich
7ca89bf87a Reduce template bloat in write_int 2020-05-01 07:56:57 -07:00
Victor Zverovich
3c114d091b Fix a shadowing warning (#1658) 2020-05-01 07:00:25 -07:00
Victor Zverovich
bca82719ab Pass iterator by value 2020-04-30 21:06:17 -07:00
Victor Zverovich
99da389627 Make write_padded non-members 2020-04-30 16:05:30 -07:00
Victor Zverovich
f19d667943 Bump fuzzer allocation limit 2020-04-30 08:45:50 -07:00
Victor Zverovich
3e69847616 Reduce branching in write_padded 2020-04-30 06:33:45 -07:00
Victor Zverovich
9ac1eebd47 Reduce library size 2020-04-29 17:37:05 -07:00
asraa
e2ff910675
Replace FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION with fmt-specific macro (#1650)
Signed-off-by: Asra Ali <asraa@google.com>
2020-04-29 09:12:43 -07:00
Victor Zverovich
f2ed03b919 Fix a warning (#1649) 2020-04-28 06:39:24 -07:00
Victor Zverovich
9dde9f0131 Reduce library size 2020-04-27 20:43:30 -07:00
Victor Zverovich
b1af642d1d Reduce library size 2020-04-27 18:50:49 -07:00
Victor Zverovich
4a617f25c6 Clarify encoding conversion in chrono 2020-04-27 09:57:08 -07:00
Victor Zverovich
6f435f55c8 Improve compile time by using extern template (#1452) 2020-04-26 14:02:15 -07:00
Victor Zverovich
cb475cb884 Clarify why we don't check argument id 2020-04-26 13:38:42 -07:00
Victor Zverovich
1e1ac6e964 Check dynamic width/precision id at compile time (#1614) 2020-04-25 08:36:24 -07:00
Victor Zverovich
e51c449fe6 Revert "Check dynamic widht/precision id at compile time (#1614)"
This reverts commit 7d748a6f82.
2020-04-25 07:43:56 -07:00
Victor Zverovich
0463665ef1 Don't access a C string past precision in printf (#1595) 2020-04-22 17:10:23 -07:00
Victor Zverovich
7d748a6f82 Check dynamic widht/precision id at compile time (#1614) 2020-04-22 14:45:37 -07:00
Victor Zverovich
2b75bd7ce6 Get rid of do_check_format_string 2020-04-22 12:15:29 -07:00
Victor Zverovich
4a1d5931cb Simplify udl_formatter with FMT_STRING 2020-04-22 11:26:05 -07:00
Victor Zverovich
811b0f9054 Enable compile-time error tests 2020-04-22 11:00:20 -07:00
Victor Zverovich
56bc86ffac Suppress bogus MSVC analysis warnings 2020-04-22 07:51:25 -07:00
Victor Zverovich
3f79357ef0 Fix a recent regression in handling max packed arguments 2020-04-22 07:15:19 -07:00
Victor Zverovich
63479c8519 Use a delegating ctor and add inlines 2020-04-20 19:17:16 -07:00
Victor Zverovich
e253b371b2 Don't generate RTTI for allocator 2020-04-19 15:57:48 -07:00
Victor Zverovich
0c86f467bc Fix build on ancient gcc 2020-04-19 09:52:40 -07:00
Victor Zverovich
1929df4bc2 Simplify format_args 2020-04-19 09:21:39 -07:00
Victor Zverovich
a138221813 Always inline arg_data functions 2020-04-19 08:20:00 -07:00
Victor Zverovich
04e0dfd4bd Always inline value ctors 2020-04-19 08:05:02 -07:00
Victor Zverovich
04cde756bc Simplify checks 2020-04-19 07:35:19 -07:00
Victor Zverovich
c9a57b9a81 Fix incorrect assumptions about nul termination 2020-04-18 06:51:52 -07:00
Victor Zverovich
f46f5ecaf0 Reenable constexpr _compile on GCC 9 2020-04-17 06:10:57 -07:00
Victor Zverovich
6e8d7e2776 Don't use constexpr on Intel compiler (#1628) 2020-04-16 07:08:04 -07:00
Victor Zverovich
567ed03f88 Merge arg overloads and cleanup 2020-04-15 08:44:58 -07:00
Johan Norberg
c3fa333140 Remove warning in core.h with when compiling with gcc and -Wshadow
In file included from build/_deps/fmt-src/include/fmt/format.h:44:0,
                 from src/main.cpp:5:
build/_deps/fmt-src/include/fmt/core.h: In member function ‘const T& fmt::v6::internal::dynamic_arg_list::push(const Arg&)’:
build/_deps/fmt-src/include/fmt/core.h:1256:10: error: declaration of ‘node’ shadows a member of ‘fmt::v6::internal::dynamic_arg_list’ [-Werror=shadow]
     auto node = std::unique_ptr<typed_node<T>>(new typed_node<T>(arg));
          ^~~~
build/_deps/fmt-src/include/fmt/core.h:1236:37: note: shadowed declaration is here
   template <typename = void> struct node {
2020-04-15 07:31:24 -07:00
Johan Norberg
84898b4626 Remove warning in format.h when compiling with gcc and -Wshadow
build/_deps/fmt-src/include/fmt/format.h: In member function ‘decltype (ctx.out()) fmt::v6::formatter<fmt::v6::bytes>::format(fmt::v6::bytes, FormatContext&)’:
build/_deps/fmt-src/include/fmt/format.h:3251:58: error: declaration of ‘writer’ shadows a global declaration [-Werror=shadow]
     internal::basic_writer<range_type> writer(range_type(ctx.out()));
                                                          ^~~
build/_deps/fmt-src/include/fmt/format.h:2741:53: note: shadowed declaration is here
 using writer FMT_DEPRECATED_ALIAS = internal::writer;
2020-04-15 07:31:24 -07:00
Victor Zverovich
538d83fd08 Cleanup named arguments 2020-04-15 06:28:41 -07:00
Victor Zverovich
8a4630686e Improve handling of named arguments 2020-04-14 11:56:55 -07:00
Dmitriy Kurkin
a9d62d3f35 Add check for CompiledFormat to avoid ambiguous call 2020-04-14 05:59:02 -07:00
Victor Zverovich
fdcf7870a2 Add stack-based named argument storage 2020-04-13 08:03:51 -07:00
Victor Zverovich
07b4c246ea Fix a typo 2020-04-12 08:18:47 -07:00
Victor Zverovich
e99809f29d Fix ostream support in sprintf (#1631) 2020-04-12 07:53:17 -07:00
Victor Zverovich
3aab2171ed Clean up basic_format_args 2020-04-11 08:22:53 -07:00
Victor Zverovich
7645ca0724 Clean up printf 2020-04-11 08:01:00 -07:00
Victor Zverovich
e30d8391e4 Suppress an MSVC warning (#1622) 2020-04-11 07:49:00 -07:00
Victor Zverovich
8cd8ef03eb Simplify warning suppression 2020-04-11 06:17:31 -07:00
Victor Zverovich
bbb6b357c7 Add floating-point L specifier (#1624) 2020-04-10 07:16:20 -07:00
Victor Zverovich
36ea32640f Suppress a bogus MSVC warning 2020-04-10 06:44:07 -07:00
Victor Zverovich
141a00d642 Define FMT_EXTERN_TEMPLATE_API on export 2020-04-09 11:54:55 -07:00
Victor Zverovich
3860edc5d9 Bump version 2020-04-08 14:48:14 -07:00
Victor Zverovich
7d01859ef1 Fix handling of unsigned char strings in printf 2020-04-08 13:05:42 -07:00
Greg Sjaardema
34b3f7b7aa Avoid windows issue with min() max() macros
Including the ``windows.h`` file without defining ``NOMINMAX`` will define the `min()` and `max()` macros which will result in issues compiling any C++ code that uses any variant of `max`, for example `std::numeric_limits<std::streamsize>::max()` and many others.  Although max() isn't used in Fmt anywhere, it is often used in codes that include a format include file so simply upgrading to the current version of lib::fmt will break the windows build which worked prior to the update...
2020-04-07 08:34:34 -07:00
Victor Zverovich
346500e70b Fix gcc version check 2020-04-04 11:23:40 -07:00
Victor Zverovich
51c58a56ba Bump version 2020-04-03 08:32:45 -07:00
Victor Zverovich
d1d653d895 Implement the L specifier 2020-04-02 06:58:38 -07:00
Victor Zverovich
73c8437485 Follow naming conventions 2020-04-01 09:30:28 -07:00
Victor Zverovich
e588b02b17 Fix posix-mock-test 2020-04-01 08:42:14 -07:00
Victor Zverovich
1a62711d01 Reduce binary size 2020-03-31 08:07:11 -07:00
Victor Zverovich
5b02881582 Merge branch 'master' of github.com:fmtlib/fmt 2020-03-28 09:46:44 -07:00
Victor Zverovich
80ce222ca6 Fix wide print overload (#1609) 2020-03-28 09:44:18 -07:00
Scott Ramsby
770a94edef Use FMT_THROW macro where applicable 2020-03-27 12:17:22 -07:00
Victor Zverovich
2864e8432a Update readme and add compatibility option 2020-03-26 07:18:27 -07:00
Victor Zverovich
21a295c272 Undo comment change 2020-03-25 08:14:31 -07:00
Victor Zverovich
96c68afe69 Fix -Wsign-conversion warnings 2020-03-25 07:46:00 -07:00
Scott Ramsby
664dd88e31 Enable FMT_STRING() use with types other than string literals 2020-03-24 12:56:21 -07:00
Victor Zverovich
69779b4ed6 Fix handling of small precision in general format 2020-03-24 09:01:57 -07:00
Victor Zverovich
08ca40ea91 Detect /utf-8 in MSVC 2020-03-22 08:19:38 -07:00
Victor Zverovich
dd97f4920c Improve exception safety in dynamic_format_arg_store 2020-03-21 08:58:50 -07:00
Victor Zverovich
2951169481 Move FMT_USE_FLOAT and friends to fmt/format.h 2020-03-20 07:55:43 -07:00
Alberto Aguirre
d3e668418f
Allow disabling floating point support (#1590)
* Allow disabling floating point support

Add FMT_USE_FLOAT, FMT_USE_DOUBLE and FMT_USE_LONG_DOUBLE to allow a
user of the library to configure the float types they want to allow.
This is specially useful in embedded environements where code size is
important.

* Avoid conditional macros to disable float support

* Add is_supported_floating_point constexpr function

* Fix empty-body warning
2020-03-20 06:46:31 -07:00
Victor Zverovich
3cf619de55 Simplify dynamic_format_arg_store 2020-03-17 07:13:46 -07:00
Spirrwell
2559983e7a
Color formatting fixed for wide strings (fixes issue #1594) (#1596)
* Use std::char_traits::length for ansi_color_escape::begin

-Fixes issue #1594 https://github.com/fmtlib/fmt/issues/1594
2020-03-17 06:24:42 -07:00
Victor Zverovich
026f99178e Simplify dynamic store 2020-03-16 19:10:41 -07:00
Victor Zverovich
9f70fc3e7a Minor tweaks for dynamic_format_arg_store 2020-03-16 07:58:15 -07:00
Vladimir Solontsov
6012dc9ab4
Dynamic arguments storage. Implementation of enhancement from issue #1170. (#1584) 2020-03-16 07:00:29 -07:00
Nikolay Rapotkin
85050aa2e6 Ability to join elements of std::initializer_list was added 2020-03-15 16:10:00 -07:00
Victor Zverovich
ff486a72a7 Allow leading zeros in precision (#1579) 2020-03-14 11:37:38 -07:00
Victor Zverovich
678341275b Deprecate fmt::char8_t 2020-03-14 10:32:34 -07:00
Victor Zverovich
61c5a51604 Fix handling of empty tuples (#1588) 2020-03-14 07:41:08 -07:00
Dair Grant
02bfd8a9a5 Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes.
FMT_DEPRECATED is now defined as FMT_HAS_CPP14_ATTRIBUTE(deprecated), as this attribute was introduced in C++14.

FMT_FALLTHROUGH is now defined as FMT_HAS_CPP17_ATTRIBUTE(fallthrough), as this attribute was introduced in C++17.

FMT_MAYBE_UNUSED is defined as FMT_HAS_CPP17_ATTRIBUTE(maybe_unused), as this attribute was introduced in C++17.

FMT_MAYBE_UNUSED has been applied to fix a couple of -Wunused-member-function warnings from clang.
2020-03-13 09:03:52 -07:00
Victor Zverovich
3c24052cf1 Workaround 'cannot call member function without object' error on gcc 4.9 2020-03-11 17:39:32 -07:00
Victor Zverovich
f72a905eb3 Fix handling of volatile enums 2020-03-11 08:40:57 -07:00
Victor Zverovich
941d5e147a Workaround broken fallthrough attribute in the PGI compiler (#1583) 2020-03-11 07:56:23 -07:00
Victor Zverovich
ee2b828b9a Tweak a comment 2020-03-09 11:27:14 -07:00
Pramod Kumbhar
5bb8856655
Workaround for broken [[deprecated]] in PGI compiler (#1581)
* Workaround broken [[deprecated]] in PGI compiler
  - similar to Intel and NVCC, add workaround for PGI compiler
2020-03-09 11:25:38 -07:00
Victor Zverovich
db4a6cfbf9 is_static_compiled_format -> is_compiled_format 2020-03-06 07:25:34 -08:00
Dair Grant
29a1ea795a Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL.
FMT_STRING_IMPL has an internal helper named FMT_STRING, however FMT_STRING is also the name of the macro that invokes FMT_STRING_IMPL.

Renaming this helper avoids the appearance of a recursive macro.
2020-03-06 07:00:47 -08:00
Victor Zverovich
8a06ca84c7 Fix ambiguous overloads of format & format_to 2020-03-05 12:22:43 -08:00
Victor Zverovich
153f753bde Deprecate undocumented _u suffix 2020-03-04 19:20:19 -08:00
Victor Zverovich
eafd079868 Improve width computation 2020-03-04 17:17:34 -08:00
Victor Zverovich
197a5c3721 Apply clang-format 2020-03-04 08:37:00 -08:00
refnum
68742e1d87
Fix clang -Wsign-conversion warning in grisu_count_digits. (#1573)
grisu_count_digits is only used by grisu_gen_digits, which assigns the unsigned result to a (signed) int.

Although grisu_count_digits always returns a positive integer this keeps its return type in sync with the type its result is assigned to.
2020-03-04 06:48:41 -08:00
Victor Zverovich
1e8493196e Make compile-time checks in format_to handle references 2020-03-01 07:57:34 -08:00
refnum
58e6c84f5a
Fix simple -Wsign-conversion cases. (#1571)
* Fix -Wsign-conversion in bigint::subtract_aligned.

n is assigned a size_t, and only used for comparisons with j.

j is assigned 0, compared to n (size_t), and passed to basic_memory_buffer::operator[] (size_t).

* Fix -Wsign-conversion in bigint::assign.

num_bigits is initialised to 0, is only ever incremented, and is passed to basic_memory_buffer::operator[] (size_t) and basic_memory_buffer::resize (size_t).
2020-03-01 07:22:15 -08:00
refnum
75a4525e5f
Move FMT_CLANG_VERSION definition to core.h (#1568)
Previously format.h defined FMT_CLANG_VERSION after including core.h, however core.h tests FMT_CLANG_VERSION when it defines FMT_API.
2020-02-29 17:19:34 -08:00
refnum
6ccb2e241b
Add FMT_NORETURN to assert_fail prototype. (#1569)
When building with -Werror,-Wmissing-noreturn clang identifies that assert_fail could be declared with the 'noreturn' attribute.
2020-02-29 17:17:55 -08:00
Victor Zverovich
bed134a4aa Tentative fix for default template param in friend error 2020-02-27 15:29:46 -08:00
Victor Zverovich
b2d3a86ec0 Make FMT_ASSERT work in constexpr on clang 4.0.1 2020-02-26 06:26:46 -08:00
fghzxm
2161a73f2b
Fix FMT_FORMAT_AS const specifier position (#1554)
The current `FMT_FORMAT_AS` macro will make `formatter<Char *>::format`
have the first argument type `const Char *&` which is incorrect an
should be `Char *const &`.  This pull request fixes that by changing the
first argument type in the macro definition body from `const Type &` to
`Type const &`.
2020-02-23 07:27:22 -08:00
IkarusDeveloper
e00997b004
improved use of find (#1560)
* improved use of find

*begin is supposed to be different from '{' when this find is used, so we can avoid checking it.
2020-02-21 14:43:06 -08:00
dominicpoeschko
0415cf2350
add const begin and end overload to buffer (#1553)
* add const begin and end overload to buffer

since there is a const overload for data I think there should also be one for begin and end
2020-02-19 14:59:50 +01:00
Victor Zverovich
3bafd0749b Fix to_string docs 2020-02-15 09:51:35 +01:00
Victor Zverovich
f733882b55 Remove misleading FMT_USE_WINDOWS_H 2020-02-14 14:09:27 +01:00
Victor Zverovich
dc22360c34 Workaround broken UDL templates in GCC < 6.4 2020-02-10 17:08:14 +01:00
Victor Zverovich
1f1b50707c Make formatter override implicit conversion to a C string 2020-02-07 19:24:36 -08:00
Victor Zverovich
24924128e3 Fix a link error in gcc8 (#1548) 2020-02-07 18:34:05 -08:00
Victor Zverovich
b55ea58705 string_view::char_type -> value_type (#1539) 2020-02-01 12:27:44 -08:00
Milian Wolff
314e15001f
Fix symbol visibility on Linux when compiling with -fvisibility=hidden (#1535)
Make FMT_API symbols use the default visibility on non-Windows
platforms. Otherwise, one cannot use the generated fmt library when
compiling globally with -fvisibility=hidden.

Fixes compile errors like:

```
../3rdParty/fmt/include/fmt/core.h:757: error: undefined reference to 'fmt::v6::internal::assert_fail(char const*, int, char const*)'
```

Note that the symbol exists, but is local:

```
$ nm -C libfmtd.so.6.1.3  | grep assert_fail
                 U __assert_fail
0000000000233ffa t fmt::v6::internal::assert_fail(char const*, int, char const*)
```

With this patch, the compile error is gone and the symbol is properly
exported:

```
$ nm -a bin/libfmtd.so -C | grep assert_fail
                 U __assert_fail
00000000002366ba T fmt::v6::internal::assert_fail(char const*, int, char const*)
```

Change-Id: I96054e622d9a2ae81907e1b01a1033e629767a91
2020-01-30 06:26:18 -08:00
Victor Zverovich
f499b393d1 Apply coding conventions 2020-01-26 19:48:48 -08:00
zeffy
1acb73f970 Fix formatting std::chrono::duration types to wide strings (#1533)
* Fix formatting chrono durations to wide strings

* Make format buffers const correct

* Add FormatWide chrono test case

* Fix incorrect wide encoding of 'µs'
I think might be a source file encoding issue, so I used \u00B5 instead.

* Update FormatWide test to use proper encoding of µs

* Revert changes to format_localized's parameters

* Use different overload of `std::time_put<T>::put` to avoid needing a format string

* Use utf8_to_utf16 instead of having redundant overloads of get_units

* Revert some minor changes

* Remove FMT_CONSTEXPR from expression

This should hopefully fix compilation on VS <2019

* Make suggested changes from code review

* Run clang-format on chrono.h

* Make sure unit isn't null before constructing a string_view from it
2020-01-23 18:48:36 -08:00
Victor Zverovich
09a13244c8 Disallow passing non-string-literals to FMT_STRING 2020-01-22 21:05:46 -08:00
Victor Zverovich
419db8baa1 Fix length computation of constexpr C strings 2020-01-22 18:25:07 -08:00
dspc-douglas
9fc4161f5e fix interal compiler error when building with mingw 2020-01-22 18:14:46 -08:00
Greg Sjaardema
25d6916b3a Fix so can work without locale defined
If `FMT_STATIC_THOUSANDS_SEPARATOR` defined, then locale is not included or defined, so this call will be unresolved.  I think this is the correct fix based on the code in `format-inl.h` and `format.h`
2020-01-22 07:26:03 -08:00
Victor Zverovich
fd1cabe464 Workaround a bogus MSVC warning 2020-01-20 06:56:22 -08:00
Victor Zverovich
b4218aa0f8 Test invalid fill 2020-01-19 16:52:36 -08:00
Victor Zverovich
8a3a8177d6 Bump version 2020-01-19 15:34:30 -08:00
Victor Zverovich
e5f2f8ce7a Add variable-width fill support (#1109) 2020-01-19 14:49:51 -08:00
Victor Zverovich
75765bfad5 Avoid unnecessary unsigned overflows (#1515) 2020-01-18 08:19:27 -08:00
Victor Zverovich
9bd9738da0 Remove static and simplify names 2020-01-18 07:43:59 -08:00
Victor Zverovich
1f110702a1 Remove redundant braces 2020-01-15 15:07:30 -08:00
Jason Turner
4ccbe4b5f2 Avoid namespace clash for fmt
## Problem

In the case of an existing `fmt` namespace (in my project this looks like `Project::fmt`) it is possible to get a namespace clash in debug builds (MSVC 2017)

## Proposed Solution

When referencing `fmt` internally, be explicit that it is relative to the global namespace using `::fmt`
2020-01-15 11:23:24 -08:00
Greg Sjaardema
40638a75b3 Use C++11 compatible std::is_same operations
The `operator()` member function of `std::is_same` was added in C++14.  For C++11, the `::value` needs to be used instead.
2020-01-15 11:20:47 -08:00