AJA NTV2 SDK  18.1.0.2439
NTV2 SDK 18.1.0.2439
ntv2deprecate.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef NTV2DEPRECATE_H
9 #define NTV2DEPRECATE_H
10 
38 
39 #define NTV2_DEPRECATE // Do not undefine -- all symbols/APIs first deprecated in SDK 12.4 or earlier have been removed
40 #define NTV2_DEPRECATE_12_5 // Do not undefine -- all symbols/APIs first deprecated in SDK 12.5 have been removed
41 #define NTV2_DEPRECATE_12_6 // Do not undefine -- all symbols/APIs first deprecated in SDK 12.6 have been removed
42 #define NTV2_DEPRECATE_12_7 // Do not undefine -- all symbols/APIs first deprecated in SDK 12.7 have been removed
43 #define NTV2_DEPRECATE_13_0 // Do not undefine -- all symbols/APIs first deprecated in SDK 13.0 have been removed
44 #define NTV2_DEPRECATE_13_1 // Do not undefine -- all symbols/APIs first deprecated in SDK 13.1 have been removed
45 #define NTV2_DEPRECATE_14_0 // Do not undefine -- all symbols/APIs first deprecated in SDK 14.0 have been removed
46 #define NTV2_DEPRECATE_14_1 // Do not undefine -- all symbols/APIs first deprecated in SDK 14.1 (never released) have been removed
47 #define NTV2_DEPRECATE_14_2 // Do not undefine -- all symbols/APIs first deprecated in SDK 14.2 have been removed
48 #define NTV2_DEPRECATE_14_3 // Do not undefine -- all symbols/APIs first deprecated in SDK 14.3 have been removed
49 #define NTV2_DEPRECATE_15_0 // Do not undefine -- all symbols/APIs first deprecated in SDK 15.0 have been removed
50 #define NTV2_DEPRECATE_15_1 // Do not undefine -- all symbols/APIs first deprecated in SDK 15.1 have been removed
51 #define NTV2_DEPRECATE_15_2 // Do not undefine -- all symbols/APIs first deprecated in SDK 15.2 have been removed
52 #define NTV2_DEPRECATE_15_3 // Do not undefine -- all symbols/APIs first deprecated in SDK 15.3 (never released) have been removed
53 #define NTV2_DEPRECATE_15_5 // Do not undefine -- all symbols/APIs first deprecated in SDK 15.5 have been removed
54 #define NTV2_DEPRECATE_15_6 // Do not undefine -- all symbols/APIs first deprecated in SDK 15.6 (never released) have been removed
55 //#define NTV2_DEPRECATE_16_0 // If defined, excludes all symbols/APIs first deprecated in SDK 16.0
56 //#define NTV2_DEPRECATE_16_1 // If defined, excludes all symbols/APIs first deprecated in SDK 16.1
57 //#define NTV2_DEPRECATE_16_2 // If defined, excludes all symbols/APIs first deprecated in SDK 16.2
58 //#define NTV2_DEPRECATE_16_3 // If defined, excludes all symbols/APIs first deprecated in SDK 16.3 (never released)
59 //#define NTV2_DEPRECATE_17_0 // If defined, excludes all symbols/APIs first deprecated in SDK 17.0
60 //#define NTV2_DEPRECATE_17_1 // If defined, excludes all symbols/APIs first deprecated in SDK 17.1
61 //#define NTV2_DEPRECATE_17_2 // If defined, excludes all symbols/APIs first deprecated in SDK 17.2 (never released)
62 //#define NTV2_DEPRECATE_17_5 // If defined, excludes all symbols/APIs first deprecated in SDK 17.5
63 //#define NTV2_DEPRECATE_17_6 // If defined, excludes all symbols/APIs first deprecated in SDK 17.6
64 //#define NTV2_DEPRECATE_18_0 // If defined, excludes all symbols/APIs first deprecated in SDK 18.0
65 //#define NTV2_DEPRECATE_18_1 // If defined, excludes all symbols/APIs first deprecated in SDK 18.1
66 
67 
71 // These implement compile-time warnings for use of deprecated variables and functions
72 #define NTV2_DEPRECATED_INLINE // Just a marker/reminder
73 #define NTV2_DEPRECATED_FIELD // Just a marker/reminder
74 #define NTV2_DEPRECATED_VARIABLE // Just a marker/reminder
75 #define NTV2_DEPRECATED_TYPEDEF // Just a marker/reminder
76 #define NTV2_DEPRECATED_CLASS // Just a marker/reminder
77 #define NTV2_SHOULD_BE_DEPRECATED(__f__) __f__
78 #define NTV2_SHOULD_DEPRECATE(__f__) __f__
79 #define NTV2_MUST_DEPRECATE(__f__) __f__
80 #define NTV2_WILL_BE_DEPRECATED(__f__) __f__
81 #if defined(NTV2_BUILDING_DRIVER)
82  // Disable deprecation warnings in driver builds
83  #define NTV2_DEPRECATED_f(__f__) __f__
84  #define NTV2_DEPRECATED_v(__v__) __v__
85  #define NTV2_DEPRECATED_vi(__v__, __i__) __v__ = (__i__)
86 #elif defined(_MSC_VER) && _MSC_VER >= 1600
87  // Use __declspec(deprecated) for MSVC
88  #define NTV2_DEPRECATED_f(__f__) __declspec(deprecated) __f__
89  #define NTV2_DEPRECATED_v(__v__) __v__
90  #define NTV2_DEPRECATED_vi(__v__, __i__) __v__ = (__i__)
91 #elif defined(__clang__)
92  // Use __attribute__((deprecated)) for LLVM/Clang
93  #define NTV2_DEPRECATED_f(__f__) __f__ __attribute__((deprecated))
94  #define NTV2_DEPRECATED_v(__v__) __v__
95  #define NTV2_DEPRECATED_vi(__v__, __i__) __v__ = (__i__)
96 #elif defined(__GNUC__)
97  #if __GNUC__ >= 4
98  // Use __attribute__((deprecated)) for GCC 4 or later
99  #define NTV2_DEPRECATED_f(__f__) __f__ __attribute__ ((deprecated))
100  #define NTV2_DEPRECATED_v(__v__) __v__
101  #define NTV2_DEPRECATED_vi(__v__, __i__) __v__ = (__i__)
102  #else
103  // Disable deprecation warnings in GCC prior to GCC 4
104  #define NTV2_DEPRECATED_f(__f__) __f__
105  #define NTV2_DEPRECATED_v(__v__) __v__
106  #define NTV2_DEPRECATED_vi(__v__, __i__) __v__ = (__i__)
107  #endif
108 #else
109  // Disable deprecation warnings
110  #define NTV2_DEPRECATED_f(__f__) __f__
111  #define NTV2_DEPRECATED_v(__v__) __v__
112  #define NTV2_DEPRECATED_vi(__v__, __i__) __v__ = (__i__)
113 #endif
114 
115 #define NTV2_DEPRECATED_16_0(__f__) NTV2_DEPRECATED_f(__f__)
116 #if defined(NTV2_DEPRECATE_16_0)
117  #define NTV2_DEPRECATED_16_1(__f__) NTV2_DEPRECATED_f(__f__)
118 #else//NTV2_DEPRECATE_16_0
119  #define NTV2_DEPRECATED_16_1(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
120 #endif//NTV2_DEPRECATE_16_0
121 #if defined(NTV2_DEPRECATE_16_1)
122  #define NTV2_DEPRECATED_16_2(__f__) NTV2_DEPRECATED_f(__f__)
123 #else//NTV2_DEPRECATE_16_1
124  #define NTV2_DEPRECATED_16_2(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
125 #endif//NTV2_DEPRECATE_16_1
126 #if defined(NTV2_DEPRECATE_16_2)
127  #define NTV2_DEPRECATED_16_3(__f__) NTV2_DEPRECATED_f(__f__)
128 #else//NTV2_DEPRECATE_16_2
129  #define NTV2_DEPRECATED_16_3(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
130 #endif//NTV2_DEPRECATE_16_2
131 #if defined(NTV2_DEPRECATE_16_3)
132  #define NTV2_DEPRECATED_17_0(__f__) NTV2_DEPRECATED_f(__f__)
133 #else//NTV2_DEPRECATE_16_3
134  #define NTV2_DEPRECATED_17_0(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
135 #endif//NTV2_DEPRECATE_16_3
136 #if defined(NTV2_DEPRECATE_17_0)
137  #define NTV2_DEPRECATED_17_1(__f__) NTV2_DEPRECATED_f(__f__)
138 #else//NTV2_DEPRECATE_17_0
139  #define NTV2_DEPRECATED_17_1(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
140 #endif//NTV2_DEPRECATE_17_0
141 #if defined(NTV2_DEPRECATE_17_1)
142  #define NTV2_DEPRECATED_17_2(__f__) NTV2_DEPRECATED_f(__f__)
143 #else//NTV2_DEPRECATE_17_1
144  #define NTV2_DEPRECATED_17_2(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
145 #endif//NTV2_DEPRECATE_17_1
146 #if defined(NTV2_DEPRECATE_17_2)
147  #define NTV2_DEPRECATED_17_5(__f__) NTV2_DEPRECATED_f(__f__)
148 #else//NTV2_DEPRECATE_17_2
149  #define NTV2_DEPRECATED_17_5(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
150 #endif//NTV2_DEPRECATE_17_2
151 #if defined(NTV2_DEPRECATE_17_5)
152  #define NTV2_DEPRECATED_17_6(__f__) NTV2_DEPRECATED_f(__f__)
153 #else//NTV2_DEPRECATE_17_5
154  #define NTV2_DEPRECATED_17_6(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
155 #endif//NTV2_DEPRECATE_17_5
156 #if defined(NTV2_DEPRECATE_17_6)
157  #define NTV2_DEPRECATED_18_0(__f__) NTV2_DEPRECATED_f(__f__)
158 #else//NTV2_DEPRECATE_17_6
159  #define NTV2_DEPRECATED_18_0(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
160 #endif//NTV2_DEPRECATE_17_6
161 #if defined(NTV2_DEPRECATE_18_0)
162  #define NTV2_DEPRECATED_18_1(__f__) NTV2_DEPRECATED_f(__f__)
163 #else//NTV2_DEPRECATE_18_0
164  #define NTV2_DEPRECATED_18_1(__f__) NTV2_WILL_BE_DEPRECATED(__f__)
165 #endif//NTV2_DEPRECATE_18_0
166 
167 #endif // NTV2DEPRECATE_H