#ifndef MISC_H
#define MISC_H
-#include <functional>
#include <xbt/log.h>
+/* Returns c-string "s" if n > 1, empty string "" otherwise. */
+#define ESSE(n) (misc::str_esse + ((n) <= 1))
+
+namespace misc {
+ extern const char str_esse[];
+}
+
/* Returns true if the given priority is enabled for the default
* category. Priority is xbt_log_priority_SUFFIX, where SUFFIX may
* be: trace, debug, verbose, info, warning, error, critical.
#define LOG_ISENABLED(priority) \
(_XBT_LOG_ISENABLEDV((*_XBT_LOGV(default)), (priority)))
-/* Returns c-string "s" if n > 1, empty string "" otherwise. */
-#define ESSE(n) ((n) > 1 ? misc::str_esse : misc::str_nil)
-namespace misc {
-
- extern const char str_esse[];
- extern const char str_nil[];
-
- template <typename T>
- struct address: public std::unary_function<T&, T*> {
- T* operator()(T& ref) { return &ref; }
- };
-
-}
+/* Defines XBT_XCLOG(...) which behave like XBT_CLOG(...), except that the
+ * given category is not passed through _XBT_LOGV before use.
+ */
+#define XBT_XCLOG(c, p, ...) XBT_CLOG_((*(c)), p, __VA_ARGS__)
#endif // !MISC_H