13 #ifndef FMT_HEADER_ONLY
14 # define FMT_HEADER_ONLY
18 #ifndef FMT_EXCEPTIONS
19 # define FMT_EXCEPTIONS 0
26 #if !defined(FMT_THROW) && !FMT_EXCEPTIONS && OIIO_GNUC_VERSION >= 110000
27 # define FMT_THROW(x) \
28 OIIO_ASSERT_MSG(0, "fmt exception: %s", (x).what()), std::terminate()
34 # define FMT_USE_GRISU 1
40 #ifndef FMT_DEPRECATED_OSTREAM
41 # define FMT_DEPRECATED_OSTREAM 1
47 #if defined(__CUDA_ARCH__) && defined(__clang__) && !defined(FMT_USE_FLOAT128)
48 # define FMT_USE_FLOAT128 0
53 #if OIIO_GNUC_VERSION >= 70000
54 # pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
56 #if OIIO_GNUC_VERSION >= 130000
57 # pragma GCC diagnostic ignored "-Wdangling-reference"
59 #if OIIO_INTEL_LLVM_COMPILER
60 # pragma GCC diagnostic ignored "-Wtautological-constant-compare"
62 #if OIIO_CLANG_VERSION >= 180000
63 # pragma clang diagnostic ignored "-Wdeprecated-declarations"
73 #if FMT_VERSION >= 90000
74 # define OIIO_FMT_CUSTOM_FORMATTER_CONST const
76 # define OIIO_FMT_CUSTOM_FORMATTER_CONST
90 auto beg = ctx.begin(),
end = ctx.end();
91 if (beg !=
end && *beg ==
',')
94 for (; it !=
end && *it !=
'}'; ++it)
133 template<
typename FormatContext>
138 for (
size_t i = 0; i < size_t(
v.size()); ++i) {
141 #if FMT_VERSION >= 80000
175 template<
typename T,
typename Elem,
int Size>
178 template<
typename FormatContext>
183 for (
int i = 0; i < Size; ++i) {
186 #if FMT_VERSION >= 80000
188 ((
const Elem*)&
v)[i]);
has_subscript<T>::value is true if T has a subscript operator.
auto runtime(string_view s) -> runtime_format_string<>
basic_format_parse_context< char > format_parse_context
basic_string_view< char > string_view
GLint GLint GLsizei GLint GLenum format
#define OIIO_FMT_CUSTOM_FORMATTER_CONST
FMT_INLINE auto format_to(OutputIt out, format_string< T...> fmt, T &&...args) -> OutputIt
#define OIIO_NAMESPACE_END
#define OIIO_NAMESPACE_BEGIN