|
microfmt
Zero-allocation C++ formatting for constrained environments
|
Detects whether formatter<T> has been given a definition (as opposed to just matching the template <typename T, typename Enable = void> struct formatter; forward declaration), using the standard decltype(sizeof(T)) completeness-detection idiom: sizeof of an incomplete type in the immediate context of a partial specialization's template argument substitution is a SFINAE failure, not a hard error.
More...
#include <microfmt.hpp>


Detects whether formatter<T> has been given a definition (as opposed to just matching the template <typename T, typename Enable = void> struct formatter; forward declaration), using the standard decltype(sizeof(T)) completeness-detection idiom: sizeof of an incomplete type in the immediate context of a partial specialization's template argument substitution is a SFINAE failure, not a hard error.