14#ifndef IOX2_BB_UTILITY_DEPRECATION_MARKER_HPP
15#define IOX2_BB_UTILITY_DEPRECATION_MARKER_HPP
19#define ICEORYX_VERSION_MAJOR 0
32#define IOX2_INTERNAL_NEXT_DEPRECATED_VERSION 3
34#define IOX2_INTERNAL_DEPRECATED_STINGIFY_HELPER_EXPAMD(NUM) #NUM
35#define IOX2_INTERNAL_DEPRECATED_STINGIFY_HELPER(NUM) IOX2_INTERNAL_DEPRECATED_STINGIFY_HELPER_EXPAMD(NUM)
40 "The following steps need to be done to fix this error: \n"
41 " - increment 'IOX2_INTERNAL_NEXT_DEPRECATED_VERSION'\n"
43 " to call 'IOX2_INTERNAL_DEPRECATED_SINCE(VERSION, MESSAGE)'\n"
45 " to call 'IOX2_INTERNAL_DEPRECATED_HEADER_SINCE(VERSION, MESSAGE)'");
53#define IOX2_INTERNAL_DEPRECATED_HEADER_SINCE(VERSION, MESSAGE) \
58 [[deprecated("Deprecated since v" #VERSION ".0 and will be removed at a later version! " MESSAGE)]] header { \
59 using iox2::legacy::detail::DeprecationMarker; \
61 using header::DeprecationMarker; \
74#define IOX2_INTERNAL_DEPRECATED_HEADER_SINCE_V1(VERSION, MESSAGE) \
75 IOX2_INTERNAL_DEPRECATED_HEADER_SINCE(VERSION, MESSAGE)
77#define IOX2_INTERNAL_DEPRECATED_HEADER_SINCE_V2(VERSION, MESSAGE) \
78 IOX2_INTERNAL_DEPRECATED_HEADER_SINCE(VERSION, MESSAGE)
80#define IOX2_INTERNAL_DEPRECATED_HEADER_SINCE_V3(VERSION, MESSAGE)
82#define IOX2_INTERNAL_DEPRECATED_HEADER_SINCE_V4(VERSION, MESSAGE)
89#define IOX2_INTERNAL_DEPRECATED_HEADER_SINCE_EXPANSION(VERSION, MESSAGE) \
90 IOX2_INTERNAL_DEPRECATED_HEADER_SINCE_V##VERSION(VERSION, MESSAGE)
100#define IOX2_DEPRECATED_HEADER_SINCE(VERSION, MESSAGE) IOX2_INTERNAL_DEPRECATED_HEADER_SINCE_EXPANSION(VERSION, MESSAGE)
107#define IOX2_INTERNAL_DEPRECATED_SINCE(VERSION, MESSAGE) \
108 [[deprecated("Deprecated since v" #VERSION ".0 and will be removed at a later version! " MESSAGE)]]
117#define IOX2_INTERNAL_DEPRECATED_SINCE_V1(VERSION, MESSAGE) IOX2_INTERNAL_DEPRECATED_SINCE(VERSION, MESSAGE)
119#define IOX2_INTERNAL_DEPRECATED_SINCE_V2(VERSION, MESSAGE) IOX2_INTERNAL_DEPRECATED_SINCE(VERSION, MESSAGE)
121#define IOX2_INTERNAL_DEPRECATED_SINCE_V3(VERSION, MESSAGE)
123#define IOX2_INTERNAL_DEPRECATED_SINCE_V4(VERSION, MESSAGE)
130#define IOX2_INTERNAL_DEPRECATED_SINCE_EXPANSION(VERSION, MESSAGE) \
131 IOX2_INTERNAL_DEPRECATED_SINCE_V##VERSION(VERSION, MESSAGE)
139#define IOX2_DEPRECATED_SINCE(VERSION, MESSAGE) IOX2_INTERNAL_DEPRECATED_SINCE_EXPANSION(VERSION, MESSAGE)
#define ICEORYX_VERSION_MAJOR
#define IOX2_INTERNAL_NEXT_DEPRECATED_VERSION
#define IOX2_INTERNAL_DEPRECATED_STINGIFY_HELPER(NUM)