From 776186a6f631f628d64662b9be42b9ddc7c4d9d5 Mon Sep 17 00:00:00 2001 From: Jeremie Deray <jeremie.deray@pal-robotics.com> Date: Mon, 9 Oct 2017 18:44:04 +0200 Subject: [PATCH] add processor logging --- src/processor_logging.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/processor_logging.h diff --git a/src/processor_logging.h b/src/processor_logging.h new file mode 100644 index 000000000..167beb892 --- /dev/null +++ b/src/processor_logging.h @@ -0,0 +1,31 @@ +/** + * \file processor_logging.h + * + * Created on: Oct 5, 2017 + * \author: Jeremie Deray + */ + +#ifndef _WOLF_PROCESSOR_LOGGING_H_ +#define _WOLF_PROCESSOR_LOGGING_H_ + +/// @brief un-comment for IDE highlights. +//#include "logging.h" + +#define __INTERNAL_WOLF_ASSERT_PROCESSOR \ + static_assert(std::is_base_of<ProcessorBase, \ + typename std::remove_pointer<decltype(this)>::type>::value, \ + "This macro can be used only within the body of a " \ + "non-static " \ + "ProcessorBase (and derived) function !"); + +#define WOLF_PROCESSOR_INFO(...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_INFO_NAMED(getType(), __VA_ARGS__); +#define WOLF_PROCESSOR_WARN(...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_WARN_NAMED(getType(), __VA_ARGS__); +#define WOLF_PROCESSOR_ERROR(...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_ERROR_NAMED(getType(), __VA_ARGS__); +#define WOLF_PROCESSOR_DEBUG(...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_DEBUG_NAMED(getType(), __VA_ARGS__); + +#define WOLF_PROCESSOR_INFO_COND(cond, ...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_INFO_NAMED_COND(getType(), cond, __VA_ARGS__); +#define WOLF_PROCESSOR_WARN_COND(cond, ...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_WARN_NAMED_COND(getType(), cond, __VA_ARGS__); +#define WOLF_PROCESSOR_ERROR_COND(cond, ...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_ERROR_NAMED_COND(getType(), cond, __VA_ARGS__); +#define WOLF_PROCESSOR_DEBUG_COND(cond, ...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_DEBUG_NAMED_COND(getType(), cond, __VA_ARGS__); + +#endif /* _WOLF_PROCESSOR_LOGGING_H_ */ -- GitLab