Prefer std::vector<> over C-style malloc/free**
[ardour.git] / libs / audiographer / audiographer / debug_utils.h
index 8b45f0d65c836c52310c18f326c6072f9fde9fc0..410567d51b7cb74537fee9113af13b7dd2430742 100644 (file)
@@ -1,17 +1,25 @@
 #ifndef AUDIOGRAPHER_DEBUG_UTILS_H
 #define AUDIOGRAPHER_DEBUG_UTILS_H
 
+#include "flag_field.h"
+
+#include <cstdlib>
 #include <string>
 
 #ifdef __GNUC__
 #include <cxxabi.h>
+#include <cstdlib>
 #endif
 
+#include "audiographer/visibility.h"
+
 namespace AudioGrapher
 {
 
-struct DebugUtils
+/// Utilities for debugging
+struct LIBAUDIOGRAPHER_API DebugUtils
 {
+       /// Returns the demangled name of the object passed as the parameter
        template<typename T>
        static std::string demangled_name (T const & obj)
        {
@@ -20,13 +28,15 @@ struct DebugUtils
                char * res = abi::__cxa_demangle (typeid(obj).name(), 0, 0, &status);
                if (status == 0) {
                        std::string s(res);
-                       free (res);
+                       std::free (res);
                        return s;
                }
 #endif
                return typeid(obj).name();
        }
-       
+
+       /// Returns name of ProcessContext::Flag
+       static std::string process_context_flag_name (FlagField::Flag flag);
 };
 
 } // namespace