Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
892 B · 37 lines
C++
at master
1234567891011121314151617181920212223242526272829303132333435363738#ifndef OPENMW_COMPONENTS_DEBUG_WRITEFLAGS_H#define OPENMW_COMPONENTS_DEBUG_WRITEFLAGS_H
#include <iomanip>#include <ostream>#include <string_view>
namespace Debug{ template <class T> struct FlagString { T mValue; std::string_view mString; };
template <class T, class FlagStrings> std::ostream& writeFlags(std::ostream& stream, const T& value, const FlagStrings& flagStrings) { bool first = true; for (const auto& v : flagStrings) { if ((value & v.mValue) == 0) continue; if (first) first = false; else stream << " | "; stream << v.mString; } if (first) stream << "[None]"; return stream << " (0x" << std::hex << value << std::resetiosflags(std::ios_base::hex) << ')'; }}
#endif