4#ifndef QMULTIMEDIA_ENUM_TO_STRING_CONVERTER_P_H
5#define QMULTIMEDIA_ENUM_TO_STRING_CONVERTER_P_H
18#include <QtCore/private/qglobal_p.h>
19#include <QtCore/qstring.h>
26#define QT_MM_IMPL_CAT(x, y) x##y
30#define QT_MM_IMPL_GEN_CASE_MAP_ENUM_TO_STRING(SYMBOL, STRING)
32 return QStringLiteral(STRING);
36#define QT_MM_IMPL_GEN_CASES_ENUM_TO_STRING(seq)
38 static_assert(true, "force semicolon")
39#define QT_MM_IMPL_GEN_CASES_ENUM_TO_STRING_1(x, y)
41#define QT_MM_IMPL_GEN_CASES_ENUM_TO_STRING_2(x, y)
43#define QT_MM_IMPL_GEN_CASES_ENUM_TO_STRING_1_END
44#define QT_MM_IMPL_GEN_CASES_ENUM_TO_STRING_2_END
52template <
typename Enum,
typename Role =
EnumName>
62#define QT_MM_MAKE_STRING_RESOLVER(Enum, EnumName, ...)
64 struct QtMultimediaPrivate::StringResolver<Enum, EnumName>
66 static std::optional<QString> toQString(Enum arg)
75 static_assert(true, "force semicolon")
79#define QT_MM_DEFINE_QDEBUG_ENUM(EnumType)
80 QDebug operator
<<(QDebug dbg, EnumType arg)
82 std::optional<QString> resolved =
83 QtMultimediaPrivate::StringResolver<EnumType>::toQString(arg);
87 dbg << "Unknown Enum value";