This makes it possible to clear those macros at the end of
`babeltrace.h`. This is safe because each public header is guaranteed to
be included from `babeltrace.h`.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Change-Id: Ib030f70869b48e76bd78a91be55e581aeb3f3435
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1676
Tested-by: jenkins <jenkins@lttng.org>
# define __BT_IN_BABELTRACE_H
#endif
# define __BT_IN_BABELTRACE_H
#endif
-/* Need by some of the following included headers */
+/* Internal: needed by some of the following included headers */
#include <babeltrace2/func-status.h>
#include <babeltrace2/func-status.h>
+/* Internal: needed by some of the following included headers */
+#ifdef __cplusplus
+# define __BT_UPCAST(_type, _p) static_cast<_type *>(static_cast<void *>(_p))
+# define __BT_UPCAST_CONST(_type, _p) static_cast<const _type *>(static_cast<const void *>(_p))
+#else
+# define __BT_UPCAST(_type, _p) ((_type *) (_p))
+# define __BT_UPCAST_CONST(_type, _p) ((const _type *) (_p))
+#endif
+
/* Core API */
#include <babeltrace2/current-thread.h>
#include <babeltrace2/error-cause-const.h>
/* Core API */
#include <babeltrace2/current-thread.h>
#include <babeltrace2/error-cause-const.h>
#undef __BT_FUNC_STATUS_UNSUPPORTED
#undef __BT_FUNC_STATUS_CANCELED
#undef __BT_IN_BABELTRACE_H
#undef __BT_FUNC_STATUS_UNSUPPORTED
#undef __BT_FUNC_STATUS_CANCELED
#undef __BT_IN_BABELTRACE_H
+#undef __BT_UPCAST
+#undef __BT_UPCAST_CONST
#endif /* BABELTRACE2_BABELTRACE_H */
#endif /* BABELTRACE2_BABELTRACE_H */
-/* Internal use */
-#ifdef __cplusplus
-# define __BT_UPCAST(_type, _p) static_cast<_type *>(static_cast<void *>(_p))
-# define __BT_UPCAST_CONST(_type, _p) static_cast<const _type *>(static_cast<const void *>(_p))
-#else
-# define __BT_UPCAST(_type, _p) ((_type *) (_p))
-# define __BT_UPCAST_CONST(_type, _p) ((const _type *) (_p))
-#endif
-
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
extern "C" {
#endif