cpp-common/bt2c/fmt.hpp: use `wise_enum::string_type` in `EnableIfIsWiseEnum` definition
wise_enum uses `const char *` as the string type for C++11/14 and
`std::string_view` for C++ >= 17. Change `EnableIfIsWiseEnum` to use
`wise_enum::string_type` instead of a hard-coded `const char *`, to make
compilation in C++17 possible.
This patch removes everything named bt2c::Logger::log*Str*() and
BT_CPPLOG*STR*().
The no-formatting versions existed to avoid a call to fmt::format_to()
when you need to log a literal string as is, without any formatting. It
was also useful to pass a user string as is.
However, in the end, I don't think such an optimization is necessary:
• We don't use the no-formatting versions that much compared to messages
with a format string.
• fmt::format_to() is pretty fast without any replacement field.
• We're talking about logging performance.
• This patch removes a lot of often redudant code from `logging.hpp`.
Adapt the current no-formatting logging calls accordingly.
`this->logger()` is basically `X<T>::logger()`. Therefore, from the
log() method template point of view, the type of `this` depends on `T`,
that is, it's a dependent name. This example above won't build.
In that case, we need the `template` keyword to call the method:
We have a few arbitrary directory-specific `.gitignore` files and I'd
like to keep things consistent here: either dedicated `.gitignore` files
or a single root `.gitignore` file.