1 #ifndef AUDIOGRAPHER_FLAG_DEBUGGABLE_H
2 #define AUDIOGRAPHER_FLAG_DEBUGGABLE_H
14 template<DebugLevel L = DEFAULT_DEBUG_LEVEL>
29 template<
typename SelfType,
typename ContextType>
38 <<
" does not support flag "
#define LIBAUDIOGRAPHER_API
std::ostream & debug_stream()
A debugging class for nodes that support a certain set of flags.
void check_flags(SelfType &self, ProcessContext< ContextType > context)
Prints debug output if context contains flags that are not supported by this class.
void add_supported_flag(Flag flag)
Adds a flag to the set of flags supported.
Bi-directional iterator for flag set. Iterates over flags that are set in this field.
FlagField unsupported_flags_of(FlagField const &other) const
Returns the flags in other that are not set in this field.
FlagField const & flags() const
@ DebugFlags
Debug ProcessContext flags only on process cycle level.
static std::string process_context_flag_name(FlagField::Flag flag)
Returns name of ProcessContext::Flag.
static std::string demangled_name(T const &obj)
Returns the demangled name of the object passed as the parameter.