What is the difference between fmtquill and external fmt, and why is the bundled version needed? #845
Replies: 2 comments
-
|
Hey, we actually did use that The main reasons we ship with an internal Major reasons
Minor reasons
I’m not completely against bringing back the external option in the future, but it would require some effort:
For now, the internal |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the detailed response! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
IIRC you used to support an option
QUILL_FMT_EXTERNALwhich would allow us to use an externalfmtlib, rather than the one bundled with quill.At some point this option was removed, and now we are required to use the bundled
fmtlib, which has been modified to be in thefmtquillnamespace.In my project I am using
fmtlib-11.2.0andquill-10.1.0. The bundled version of fmt in quill is also version 11.2.0.In an attempt to discover the need for the bundled version, I compared the source code of
fmtquillvsfmt. After renamingfmtquilltofmtandFMTQUILLtoFMT, I am left with only one meaningful difference.Namely that the access specifier for
bufferhas been changed fromprivatetoprotectedI seem to remember a discussion on reddit where you mentioned that you relied on an internal api of fmtlib in order to facilitate formatting off the critical path.
However, I searched through the codebase to try find something inheriting
buffer, and making use of the internals via protected access, and the only class I can find inheritingbufferisbasic_memory_buffer, and I do not see any access to the protected internals.So my question is, why do we need the bundled
fmtquill?I've seen in the cheat sheet how to share formatters between the two.
However, given my investigations, it seems as if they are one-and-the-same.
Would it be feasible to do something like:
or alternatively, have a compile-time option to disable the bundled fmtquill library and specify which namespace to use for formatting?
Beta Was this translation helpful? Give feedback.
All reactions