1 module tfd.c_api.windows;
2 version (Windows):
3 
4         import core.stdc.config;
5         import core.stdc.stdarg: va_list;
6         static import core.simd;
7         static import std.conv;
8 
9         struct Int128 { long lower; long upper; }
10         struct UInt128 { ulong lower; ulong upper; }
11 
12         struct __locale_data { int dummy; }
13 
14 
15 
16 alias _Bool = bool;
17 struct dpp {
18     static struct Opaque(int N) {
19         void[N] bytes;
20     }
21 
22     static bool isEmpty(T)() {
23         return T.tupleof.length == 0;
24     }
25     static struct Move(T) {
26         T* ptr;
27     }
28 
29 
30     static auto move(T)(ref T value) {
31         return Move!T(&value);
32     }
33     mixin template EnumD(string name, T, string prefix) if(is(T == enum)) {
34         private static string _memberMixinStr(string member) {
35             import std.conv: text;
36             import std.array: replace;
37             return text(` `, member.replace(prefix, ""), ` = `, T.stringof, `.`, member, `,`);
38         }
39         private static string _enumMixinStr() {
40             import std.array: join;
41             string[] ret;
42             ret ~= "enum " ~ name ~ "{";
43             static foreach(member; __traits(allMembers, T)) {
44                 ret ~= _memberMixinStr(member);
45             }
46             ret ~= "}";
47             return ret.join("\n");
48         }
49         mixin(_enumMixinStr());
50     }
51 }
52 
53 extern(C)
54 {
55     alias size_t = ulong;
56     bool TF_TensorIsAligned(const(TF_Tensor)*) @nogc nothrow;
57     ulong TF_StringEncodedSize(ulong) @nogc nothrow;
58     ulong TF_StringDecode(const(char)*, ulong, const(char)**, ulong*, TF_Status*) @nogc nothrow;
59     ulong TF_StringEncode(const(char)*, ulong, char*, ulong, TF_Status*) @nogc nothrow;
60     void TF_TensorBitcastFrom(const(TF_Tensor)*, TF_DataType, TF_Tensor*, const(long)*, int, TF_Status*) @nogc nothrow;
61     long TF_TensorElementCount(const(TF_Tensor)*) @nogc nothrow;
62     void* TF_TensorData(const(TF_Tensor)*) @nogc nothrow;
63     ulong TF_TensorByteSize(const(TF_Tensor)*) @nogc nothrow;
64     long TF_Dim(const(TF_Tensor)*, int) @nogc nothrow;
65     int TF_NumDims(const(TF_Tensor)*) @nogc nothrow;
66     TF_DataType TF_TensorType(const(TF_Tensor)*) @nogc nothrow;
67     void TF_DeleteTensor(TF_Tensor*) @nogc nothrow;
68     TF_Tensor* TF_TensorMaybeMove(TF_Tensor*) @nogc nothrow;
69     TF_Tensor* TF_AllocateTensor(TF_DataType, const(long)*, int, ulong) @nogc nothrow;
70     TF_Tensor* TF_NewTensor(TF_DataType, const(long)*, int, void*, ulong, void function(void*, ulong, void*), void*) @nogc nothrow;
71     struct TF_Tensor;
72     const(char)* TF_Message(const(TF_Status)*) @nogc nothrow;
73     TF_Code TF_GetCode(const(TF_Status)*) @nogc nothrow;
74     void TF_SetStatus(TF_Status*, TF_Code, const(char)*) @nogc nothrow;
75     void TF_DeleteStatus(TF_Status*) @nogc nothrow;
76     TF_Status* TF_NewStatus() @nogc nothrow;
77     enum TF_Code
78     {
79         TF_OK = 0,
80         TF_CANCELLED = 1,
81         TF_UNKNOWN = 2,
82         TF_INVALID_ARGUMENT = 3,
83         TF_DEADLINE_EXCEEDED = 4,
84         TF_NOT_FOUND = 5,
85         TF_ALREADY_EXISTS = 6,
86         TF_PERMISSION_DENIED = 7,
87         TF_UNAUTHENTICATED = 16,
88         TF_RESOURCE_EXHAUSTED = 8,
89         TF_FAILED_PRECONDITION = 9,
90         TF_ABORTED = 10,
91         TF_OUT_OF_RANGE = 11,
92         TF_UNIMPLEMENTED = 12,
93         TF_INTERNAL = 13,
94         TF_UNAVAILABLE = 14,
95         TF_DATA_LOSS = 15,
96     }
97     enum TF_OK = TF_Code.TF_OK;
98     enum TF_CANCELLED = TF_Code.TF_CANCELLED;
99     enum TF_UNKNOWN = TF_Code.TF_UNKNOWN;
100     enum TF_INVALID_ARGUMENT = TF_Code.TF_INVALID_ARGUMENT;
101     enum TF_DEADLINE_EXCEEDED = TF_Code.TF_DEADLINE_EXCEEDED;
102     enum TF_NOT_FOUND = TF_Code.TF_NOT_FOUND;
103     enum TF_ALREADY_EXISTS = TF_Code.TF_ALREADY_EXISTS;
104     enum TF_PERMISSION_DENIED = TF_Code.TF_PERMISSION_DENIED;
105     enum TF_UNAUTHENTICATED = TF_Code.TF_UNAUTHENTICATED;
106     enum TF_RESOURCE_EXHAUSTED = TF_Code.TF_RESOURCE_EXHAUSTED;
107     enum TF_FAILED_PRECONDITION = TF_Code.TF_FAILED_PRECONDITION;
108     enum TF_ABORTED = TF_Code.TF_ABORTED;
109     enum TF_OUT_OF_RANGE = TF_Code.TF_OUT_OF_RANGE;
110     enum TF_UNIMPLEMENTED = TF_Code.TF_UNIMPLEMENTED;
111     enum TF_INTERNAL = TF_Code.TF_INTERNAL;
112     enum TF_UNAVAILABLE = TF_Code.TF_UNAVAILABLE;
113     enum TF_DATA_LOSS = TF_Code.TF_DATA_LOSS;
114     struct TF_Status;
115     ulong TF_DataTypeSize(TF_DataType) @nogc nothrow;
116     enum TF_DataType
117     {
118         TF_FLOAT = 1,
119         TF_DOUBLE = 2,
120         TF_INT32 = 3,
121         TF_UINT8 = 4,
122         TF_INT16 = 5,
123         TF_INT8 = 6,
124         TF_STRING = 7,
125         TF_COMPLEX64 = 8,
126         TF_COMPLEX = 8,
127         TF_INT64 = 9,
128         TF_BOOL = 10,
129         TF_QINT8 = 11,
130         TF_QUINT8 = 12,
131         TF_QINT32 = 13,
132         TF_BFLOAT16 = 14,
133         TF_QINT16 = 15,
134         TF_QUINT16 = 16,
135         TF_UINT16 = 17,
136         TF_COMPLEX128 = 18,
137         TF_HALF = 19,
138         TF_RESOURCE = 20,
139         TF_VARIANT = 21,
140         TF_UINT32 = 22,
141         TF_UINT64 = 23,
142     }
143     enum TF_FLOAT = TF_DataType.TF_FLOAT;
144     enum TF_DOUBLE = TF_DataType.TF_DOUBLE;
145     enum TF_INT32 = TF_DataType.TF_INT32;
146     enum TF_UINT8 = TF_DataType.TF_UINT8;
147     enum TF_INT16 = TF_DataType.TF_INT16;
148     enum TF_INT8 = TF_DataType.TF_INT8;
149     enum TF_STRING = TF_DataType.TF_STRING;
150     enum TF_COMPLEX64 = TF_DataType.TF_COMPLEX64;
151     enum TF_COMPLEX = TF_DataType.TF_COMPLEX;
152     enum TF_INT64 = TF_DataType.TF_INT64;
153     enum TF_BOOL = TF_DataType.TF_BOOL;
154     enum TF_QINT8 = TF_DataType.TF_QINT8;
155     enum TF_QUINT8 = TF_DataType.TF_QUINT8;
156     enum TF_QINT32 = TF_DataType.TF_QINT32;
157     enum TF_BFLOAT16 = TF_DataType.TF_BFLOAT16;
158     enum TF_QINT16 = TF_DataType.TF_QINT16;
159     enum TF_QUINT16 = TF_DataType.TF_QUINT16;
160     enum TF_UINT16 = TF_DataType.TF_UINT16;
161     enum TF_COMPLEX128 = TF_DataType.TF_COMPLEX128;
162     enum TF_HALF = TF_DataType.TF_HALF;
163     enum TF_RESOURCE = TF_DataType.TF_RESOURCE;
164     enum TF_VARIANT = TF_DataType.TF_VARIANT;
165     enum TF_UINT32 = TF_DataType.TF_UINT32;
166     enum TF_UINT64 = TF_DataType.TF_UINT64;
167     enum TF_AttrType
168     {
169         TF_ATTR_STRING = 0,
170         TF_ATTR_INT = 1,
171         TF_ATTR_FLOAT = 2,
172         TF_ATTR_BOOL = 3,
173         TF_ATTR_TYPE = 4,
174         TF_ATTR_SHAPE = 5,
175         TF_ATTR_TENSOR = 6,
176         TF_ATTR_PLACEHOLDER = 7,
177         TF_ATTR_FUNC = 8,
178     }
179     enum TF_ATTR_STRING = TF_AttrType.TF_ATTR_STRING;
180     enum TF_ATTR_INT = TF_AttrType.TF_ATTR_INT;
181     enum TF_ATTR_FLOAT = TF_AttrType.TF_ATTR_FLOAT;
182     enum TF_ATTR_BOOL = TF_AttrType.TF_ATTR_BOOL;
183     enum TF_ATTR_TYPE = TF_AttrType.TF_ATTR_TYPE;
184     enum TF_ATTR_SHAPE = TF_AttrType.TF_ATTR_SHAPE;
185     enum TF_ATTR_TENSOR = TF_AttrType.TF_ATTR_TENSOR;
186     enum TF_ATTR_PLACEHOLDER = TF_AttrType.TF_ATTR_PLACEHOLDER;
187     enum TF_ATTR_FUNC = TF_AttrType.TF_ATTR_FUNC;
188     void TF_RegisterLogListener(void function(const(char)*)) @nogc nothrow;
189     void TF_DeleteServer(TF_Server*) @nogc nothrow;
190     const(char)* TF_ServerTarget(TF_Server*) @nogc nothrow;
191     void TF_ServerJoin(TF_Server*, TF_Status*) @nogc nothrow;
192     void TF_ServerStop(TF_Server*, TF_Status*) @nogc nothrow;
193     void TF_ServerStart(TF_Server*, TF_Status*) @nogc nothrow;
194     TF_Server* TF_NewServer(const(void)*, ulong, TF_Status*) @nogc nothrow;
195     struct TF_Server;
196     TF_Buffer* TF_GetRegisteredKernelsForOp(const(char)*, TF_Status*) @nogc nothrow;
197     TF_Buffer* TF_GetAllRegisteredKernels(TF_Status*) @nogc nothrow;
198     TF_Buffer* TF_ApiDefMapGet(TF_ApiDefMap*, const(char)*, ulong, TF_Status*) @nogc nothrow;
199     void TF_ApiDefMapPut(TF_ApiDefMap*, const(char)*, ulong, TF_Status*) @nogc nothrow;
200     void TF_DeleteApiDefMap(TF_ApiDefMap*) @nogc nothrow;
201     TF_ApiDefMap* TF_NewApiDefMap(TF_Buffer*, TF_Status*) @nogc nothrow;
202     struct TF_ApiDefMap;
203     TF_Buffer* TF_GetAllOpList() @nogc nothrow;
204     void TF_DeleteLibraryHandle(TF_Library*) @nogc nothrow;
205     TF_Buffer TF_GetOpList(TF_Library*) @nogc nothrow;
206     TF_Library* TF_LoadLibrary(const(char)*, TF_Status*) @nogc nothrow;
207     struct TF_Library;
208     ulong TF_DeviceListIncarnation(const(TF_DeviceList)*, int, TF_Status*) @nogc nothrow;
209     long TF_DeviceListMemoryBytes(const(TF_DeviceList)*, int, TF_Status*) @nogc nothrow;
210     const(char)* TF_DeviceListType(const(TF_DeviceList)*, int, TF_Status*) @nogc nothrow;
211     const(char)* TF_DeviceListName(const(TF_DeviceList)*, int, TF_Status*) @nogc nothrow;
212     int TF_DeviceListCount(const(TF_DeviceList)*) @nogc nothrow;
213     void TF_DeleteDeviceList(TF_DeviceList*) @nogc nothrow;
214     TF_DeviceList* TF_DeprecatedSessionListDevices(TF_DeprecatedSession*, TF_Status*) @nogc nothrow;
215     TF_DeviceList* TF_SessionListDevices(TF_Session*, TF_Status*) @nogc nothrow;
216     struct TF_DeviceList;
217     void TF_PRun(TF_DeprecatedSession*, const(char)*, const(char)**, TF_Tensor**, int, const(char)**, TF_Tensor**, int, const(char)**, int, TF_Status*) @nogc nothrow;
218     void TF_PRunSetup(TF_DeprecatedSession*, const(char)**, int, const(char)**, int, const(char)**, int, const(char)**, TF_Status*) @nogc nothrow;
219     void TF_Run(TF_DeprecatedSession*, const(TF_Buffer)*, const(char)**, TF_Tensor**, int, const(char)**, TF_Tensor**, int, const(char)**, int, TF_Buffer*, TF_Status*) @nogc nothrow;
220     void TF_ExtendGraph(TF_DeprecatedSession*, const(void)*, ulong, TF_Status*) @nogc nothrow;
221     void TF_Reset(const(TF_SessionOptions)*, const(char)**, int, TF_Status*) @nogc nothrow;
222     void TF_DeleteDeprecatedSession(TF_DeprecatedSession*, TF_Status*) @nogc nothrow;
223     void TF_CloseDeprecatedSession(TF_DeprecatedSession*, TF_Status*) @nogc nothrow;
224     TF_DeprecatedSession* TF_NewDeprecatedSession(const(TF_SessionOptions)*, TF_Status*) @nogc nothrow;
225     struct TF_DeprecatedSession;
226     void TF_DeletePRunHandle(const(char)*) @nogc nothrow;
227     void TF_SessionPRun(TF_Session*, const(char)*, const(TF_Output)*, TF_Tensor**, int, const(TF_Output)*, TF_Tensor**, int, const(const(TF_Operation)*)*, int, TF_Status*) @nogc nothrow;
228     void TF_SessionPRunSetup(TF_Session*, const(TF_Output)*, int, const(TF_Output)*, int, const(const(TF_Operation)*)*, int, const(char)**, TF_Status*) @nogc nothrow;
229     void TF_SessionRun(TF_Session*, const(TF_Buffer)*, const(TF_Output)*, TF_Tensor**, int, const(TF_Output)*, TF_Tensor**, int, const(const(TF_Operation)*)*, int, TF_Buffer*, TF_Status*) @nogc nothrow;
230     void TF_DeleteSession(TF_Session*, TF_Status*) @nogc nothrow;
231     void TF_CloseSession(TF_Session*, TF_Status*) @nogc nothrow;
232     TF_Session* TF_LoadSessionFromSavedModel(const(TF_SessionOptions)*, const(TF_Buffer)*, const(char)*, const(const(char)*)*, int, TF_Graph*, TF_Buffer*, TF_Status*) @nogc nothrow;
233     TF_Session* TF_NewSession(TF_Graph*, const(TF_SessionOptions)*, TF_Status*) @nogc nothrow;
234     struct TF_Session;
235     ubyte TF_TryEvaluateConstant(TF_Graph*, TF_Output, TF_Tensor**, TF_Status*) @nogc nothrow;
236     void TF_DeleteFunction(TF_Function*) @nogc nothrow;
237     void TF_FunctionGetAttrValueProto(TF_Function*, const(char)*, TF_Buffer*, TF_Status*) @nogc nothrow;
238     void TF_FunctionSetAttrValueProto(TF_Function*, const(char)*, const(void)*, ulong, TF_Status*) @nogc nothrow;
239     TF_Function* TF_FunctionImportFunctionDef(const(void)*, ulong, TF_Status*) @nogc nothrow;
240     void TF_FunctionToFunctionDef(TF_Function*, TF_Buffer*, TF_Status*) @nogc nothrow;
241     const(char)* TF_FunctionName(TF_Function*) @nogc nothrow;
242     TF_Function* TF_GraphToFunctionWithControlOutputs(const(TF_Graph)*, const(char)*, ubyte, int, const(const(TF_Operation)*)*, int, const(TF_Output)*, int, const(TF_Output)*, const(const(char)*)*, int, const(const(TF_Operation)*)*, const(const(char)*)*, const(TF_FunctionOptions)*, const(char)*, TF_Status*) @nogc nothrow;
243     TF_Function* TF_GraphToFunction(const(TF_Graph)*, const(char)*, ubyte, int, const(const(TF_Operation)*)*, int, const(TF_Output)*, int, const(TF_Output)*, const(const(char)*)*, const(TF_FunctionOptions)*, const(char)*, TF_Status*) @nogc nothrow;
244     void TF_AddGradientsWithPrefix(TF_Graph*, const(char)*, TF_Output*, int, TF_Output*, int, TF_Output*, TF_Status*, TF_Output*) @nogc nothrow;
245     void TF_AddGradients(TF_Graph*, TF_Output*, int, TF_Output*, int, TF_Output*, TF_Status*, TF_Output*) @nogc nothrow;
246     void TF_AbortWhile(const(TF_WhileParams)*) @nogc nothrow;
247     void TF_FinishWhile(const(TF_WhileParams)*, TF_Status*, TF_Output*) @nogc nothrow;
248     TF_WhileParams TF_NewWhile(TF_Graph*, TF_Output*, int, TF_Status*) @nogc nothrow;
249     struct TF_WhileParams
250     {
251         const(int) ninputs;
252         TF_Graph* cond_graph;
253         const(const(TF_Output)*) cond_inputs;
254         TF_Output cond_output;
255         TF_Graph* body_graph;
256         const(const(TF_Output)*) body_inputs;
257         TF_Output* body_outputs;
258         const(char)* name;
259     }
260     void TF_OperationToNodeDef(TF_Operation*, TF_Buffer*, TF_Status*) @nogc nothrow;
261     int TF_GraphGetFunctions(TF_Graph*, TF_Function**, int, TF_Status*) @nogc nothrow;
262     int TF_GraphNumFunctions(TF_Graph*) @nogc nothrow;
263     void TF_GraphCopyFunction(TF_Graph*, const(TF_Function)*, const(TF_Function)*, TF_Status*) @nogc nothrow;
264     void TF_GraphImportGraphDef(TF_Graph*, const(TF_Buffer)*, const(TF_ImportGraphDefOptions)*, TF_Status*) @nogc nothrow;
265     void TF_GraphImportGraphDefWithReturnOutputs(TF_Graph*, const(TF_Buffer)*, const(TF_ImportGraphDefOptions)*, TF_Output*, int, TF_Status*) @nogc nothrow;
266     TF_ImportGraphDefResults* TF_GraphImportGraphDefWithResults(TF_Graph*, const(TF_Buffer)*, const(TF_ImportGraphDefOptions)*, TF_Status*) @nogc nothrow;
267     void TF_DeleteImportGraphDefResults(TF_ImportGraphDefResults*) @nogc nothrow;
268     void TF_ImportGraphDefResultsMissingUnusedInputMappings(TF_ImportGraphDefResults*, int*, const(char)***, int**) @nogc nothrow;
269     void TF_ImportGraphDefResultsReturnOperations(TF_ImportGraphDefResults*, int*, TF_Operation***) @nogc nothrow;
270     void TF_ImportGraphDefResultsReturnOutputs(TF_ImportGraphDefResults*, int*, TF_Output**) @nogc nothrow;
271     struct TF_ImportGraphDefResults;
272     int TF_ImportGraphDefOptionsNumReturnOperations(const(TF_ImportGraphDefOptions)*) @nogc nothrow;
273     void TF_ImportGraphDefOptionsAddReturnOperation(TF_ImportGraphDefOptions*, const(char)*) @nogc nothrow;
274     int TF_ImportGraphDefOptionsNumReturnOutputs(const(TF_ImportGraphDefOptions)*) @nogc nothrow;
275     void TF_ImportGraphDefOptionsAddReturnOutput(TF_ImportGraphDefOptions*, const(char)*, int) @nogc nothrow;
276     void TF_ImportGraphDefOptionsAddControlDependency(TF_ImportGraphDefOptions*, TF_Operation*) @nogc nothrow;
277     void TF_ImportGraphDefOptionsRemapControlDependency(TF_ImportGraphDefOptions*, const(char)*, TF_Operation*) @nogc nothrow;
278     void TF_ImportGraphDefOptionsAddInputMapping(TF_ImportGraphDefOptions*, const(char)*, int, TF_Output) @nogc nothrow;
279     void TF_ImportGraphDefOptionsSetUniquifyPrefix(TF_ImportGraphDefOptions*, ubyte) @nogc nothrow;
280     void TF_ImportGraphDefOptionsSetUniquifyNames(TF_ImportGraphDefOptions*, ubyte) @nogc nothrow;
281     void TF_ImportGraphDefOptionsSetDefaultDevice(TF_ImportGraphDefOptions*, const(char)*) @nogc nothrow;
282     void TF_ImportGraphDefOptionsSetPrefix(TF_ImportGraphDefOptions*, const(char)*) @nogc nothrow;
283     void TF_DeleteImportGraphDefOptions(TF_ImportGraphDefOptions*) @nogc nothrow;
284     TF_ImportGraphDefOptions* TF_NewImportGraphDefOptions() @nogc nothrow;
285     struct TF_ImportGraphDefOptions;
286     void TF_GraphVersions(TF_Graph*, TF_Buffer*, TF_Status*) @nogc nothrow;
287     void TF_GraphGetOpDef(TF_Graph*, const(char)*, TF_Buffer*, TF_Status*) @nogc nothrow;
288     void TF_GraphToGraphDef(TF_Graph*, TF_Buffer*, TF_Status*) @nogc nothrow;
289     TF_Operation* TF_GraphNextOperation(TF_Graph*, ulong*) @nogc nothrow;
290     TF_Operation* TF_GraphOperationByName(TF_Graph*, const(char)*) @nogc nothrow;
291     void TF_OperationGetAttrValueProto(TF_Operation*, const(char)*, TF_Buffer*, TF_Status*) @nogc nothrow;
292     void TF_OperationGetAttrTensorList(TF_Operation*, const(char)*, TF_Tensor**, int, TF_Status*) @nogc nothrow;
293     void TF_OperationGetAttrTensor(TF_Operation*, const(char)*, TF_Tensor**, TF_Status*) @nogc nothrow;
294     void TF_OperationGetAttrTensorShapeProtoList(TF_Operation*, const(char)*, TF_Buffer**, int, TF_Status*) @nogc nothrow;
295     void TF_OperationGetAttrTensorShapeProto(TF_Operation*, const(char)*, TF_Buffer*, TF_Status*) @nogc nothrow;
296     void TF_OperationGetAttrShapeList(TF_Operation*, const(char)*, long**, int*, int, long*, int, TF_Status*) @nogc nothrow;
297     void TF_OperationGetAttrShape(TF_Operation*, const(char)*, long*, int, TF_Status*) @nogc nothrow;
298     void TF_OperationGetAttrTypeList(TF_Operation*, const(char)*, TF_DataType*, int, TF_Status*) @nogc nothrow;
299     void TF_OperationGetAttrType(TF_Operation*, const(char)*, TF_DataType*, TF_Status*) @nogc nothrow;
300     void TF_OperationGetAttrBoolList(TF_Operation*, const(char)*, ubyte*, int, TF_Status*) @nogc nothrow;
301     void TF_OperationGetAttrBool(TF_Operation*, const(char)*, ubyte*, TF_Status*) @nogc nothrow;
302     void TF_OperationGetAttrFloatList(TF_Operation*, const(char)*, float*, int, TF_Status*) @nogc nothrow;
303     void TF_OperationGetAttrFloat(TF_Operation*, const(char)*, float*, TF_Status*) @nogc nothrow;
304     void TF_OperationGetAttrIntList(TF_Operation*, const(char)*, long*, int, TF_Status*) @nogc nothrow;
305     void TF_OperationGetAttrInt(TF_Operation*, const(char)*, long*, TF_Status*) @nogc nothrow;
306     void TF_OperationGetAttrStringList(TF_Operation*, const(char)*, void**, ulong*, int, void*, ulong, TF_Status*) @nogc nothrow;
307     void TF_OperationGetAttrString(TF_Operation*, const(char)*, void*, ulong, TF_Status*) @nogc nothrow;
308     TF_AttrMetadata TF_OperationGetAttrMetadata(TF_Operation*, const(char)*, TF_Status*) @nogc nothrow;
309     struct TF_AttrMetadata
310     {
311         ubyte is_list;
312         long list_size;
313         TF_AttrType type;
314         long total_size;
315     }
316     int TF_OperationGetControlOutputs(TF_Operation*, TF_Operation**, int) @nogc nothrow;
317     int TF_OperationNumControlOutputs(TF_Operation*) @nogc nothrow;
318     int TF_OperationGetControlInputs(TF_Operation*, TF_Operation**, int) @nogc nothrow;
319     int TF_OperationNumControlInputs(TF_Operation*) @nogc nothrow;
320     int TF_OperationOutputConsumers(TF_Output, TF_Input*, int) @nogc nothrow;
321     int TF_OperationOutputNumConsumers(TF_Output) @nogc nothrow;
322     TF_Output TF_OperationInput(TF_Input) @nogc nothrow;
323     int TF_OperationInputListLength(TF_Operation*, const(char)*, TF_Status*) @nogc nothrow;
324     TF_DataType TF_OperationInputType(TF_Input) @nogc nothrow;
325     int TF_OperationNumInputs(TF_Operation*) @nogc nothrow;
326     int TF_OperationOutputListLength(TF_Operation*, const(char)*, TF_Status*) @nogc nothrow;
327     TF_DataType TF_OperationOutputType(TF_Output) @nogc nothrow;
328     int TF_OperationNumOutputs(TF_Operation*) @nogc nothrow;
329     const(char)* TF_OperationDevice(TF_Operation*) @nogc nothrow;
330     const(char)* TF_OperationOpType(TF_Operation*) @nogc nothrow;
331     const(char)* TF_OperationName(TF_Operation*) @nogc nothrow;
332     TF_Operation* TF_FinishOperation(TF_OperationDescription*, TF_Status*) @nogc nothrow;
333     void TF_SetAttrValueProto(TF_OperationDescription*, const(char)*, const(void)*, ulong, TF_Status*) @nogc nothrow;
334     void TF_SetAttrTensorList(TF_OperationDescription*, const(char)*, TF_Tensor**, int, TF_Status*) @nogc nothrow;
335     void TF_SetAttrTensor(TF_OperationDescription*, const(char)*, TF_Tensor*, TF_Status*) @nogc nothrow;
336     void TF_SetAttrTensorShapeProtoList(TF_OperationDescription*, const(char)*, const(const(void)*)*, const(ulong)*, int, TF_Status*) @nogc nothrow;
337     void TF_SetAttrTensorShapeProto(TF_OperationDescription*, const(char)*, const(void)*, ulong, TF_Status*) @nogc nothrow;
338     void TF_SetAttrShapeList(TF_OperationDescription*, const(char)*, const(const(long)*)*, const(int)*, int) @nogc nothrow;
339     alias max_align_t = double;
340     void TF_SetAttrShape(TF_OperationDescription*, const(char)*, const(long)*, int) @nogc nothrow;
341     void TF_SetAttrFuncName(TF_OperationDescription*, const(char)*, const(char)*, ulong) @nogc nothrow;
342     void TF_SetAttrPlaceholder(TF_OperationDescription*, const(char)*, const(char)*) @nogc nothrow;
343     void TF_SetAttrTypeList(TF_OperationDescription*, const(char)*, const(TF_DataType)*, int) @nogc nothrow;
344     void TF_SetAttrType(TF_OperationDescription*, const(char)*, TF_DataType) @nogc nothrow;
345     void TF_SetAttrBoolList(TF_OperationDescription*, const(char)*, const(ubyte)*, int) @nogc nothrow;
346     void TF_SetAttrBool(TF_OperationDescription*, const(char)*, ubyte) @nogc nothrow;
347     alias ptrdiff_t = long;
348     void TF_SetAttrFloatList(TF_OperationDescription*, const(char)*, const(float)*, int) @nogc nothrow;
349     alias wchar_t = ushort;
350     void TF_SetAttrFloat(TF_OperationDescription*, const(char)*, float) @nogc nothrow;
351     alias int64_t = long;
352     alias uint64_t = ulong;
353     void TF_SetAttrIntList(TF_OperationDescription*, const(char)*, const(long)*, int) @nogc nothrow;
354     void TF_SetAttrInt(TF_OperationDescription*, const(char)*, long) @nogc nothrow;
355     void TF_SetAttrStringList(TF_OperationDescription*, const(char)*, const(const(void)*)*, const(ulong)*, int) @nogc nothrow;
356     void TF_SetAttrString(TF_OperationDescription*, const(char)*, const(void)*, ulong) @nogc nothrow;
357     alias int_least64_t = long;
358     alias uint_least64_t = ulong;
359     alias int_fast64_t = long;
360     alias uint_fast64_t = ulong;
361     alias int32_t = int;
362     void TF_ColocateWith(TF_OperationDescription*, TF_Operation*) @nogc nothrow;
363     alias uint32_t = uint;
364     void TF_AddControlInput(TF_OperationDescription*, TF_Operation*) @nogc nothrow;
365     void TF_AddInputList(TF_OperationDescription*, const(TF_Output)*, int) @nogc nothrow;
366     void TF_AddInput(TF_OperationDescription*, TF_Output) @nogc nothrow;
367     alias int_least32_t = int;
368     alias uint_least32_t = uint;
369     alias int_fast32_t = int;
370     alias uint_fast32_t = uint;
371     alias int16_t = short;
372     alias uint16_t = ushort;
373     void TF_SetDevice(TF_OperationDescription*, const(char)*) @nogc nothrow;
374     TF_OperationDescription* TF_NewOperation(TF_Graph*, const(char)*, const(char)*) @nogc nothrow;
375     alias int_least16_t = short;
376     alias uint_least16_t = ushort;
377     alias int_fast16_t = short;
378     alias uint_fast16_t = ushort;
379     alias int8_t = byte;
380     alias uint8_t = ubyte;
381     void TF_GraphGetTensorShape(TF_Graph*, TF_Output, long*, int, TF_Status*) @nogc nothrow;
382     alias int_least8_t = byte;
383     alias uint_least8_t = ubyte;
384     alias int_fast8_t = byte;
385     alias uint_fast8_t = ubyte;
386     int TF_GraphGetTensorNumDims(TF_Graph*, TF_Output, TF_Status*) @nogc nothrow;
387     alias intptr_t = long;
388     void TF_GraphSetTensorShape(TF_Graph*, TF_Output, const(long)*, const(int), TF_Status*) @nogc nothrow;
389     alias uintptr_t = ulong;
390     struct TF_FunctionOptions;
391     alias intmax_t = long;
392     alias uintmax_t = ulong;
393     struct TF_Function;
394     struct TF_Output
395     {
396         TF_Operation* oper;
397         int index;
398     }
399     struct TF_Input
400     {
401         TF_Operation* oper;
402         int index;
403     }
404     struct TF_Operation;
405     struct TF_OperationDescription;
406     void TF_DeleteGraph(TF_Graph*) @nogc nothrow;
407     TF_Graph* TF_NewGraph() @nogc nothrow;
408     struct TF_Graph;
409     void TF_DeleteSessionOptions(TF_SessionOptions*) @nogc nothrow;
410     void TF_SetConfig(TF_SessionOptions*, const(void)*, ulong, TF_Status*) @nogc nothrow;
411     void TF_SetTarget(TF_SessionOptions*, const(char)*) @nogc nothrow;
412     TF_SessionOptions* TF_NewSessionOptions() @nogc nothrow;
413     struct TF_SessionOptions;
414     TF_Buffer TF_GetBuffer(TF_Buffer*) @nogc nothrow;
415     void TF_DeleteBuffer(TF_Buffer*) @nogc nothrow;
416     TF_Buffer* TF_NewBuffer() @nogc nothrow;
417     TF_Buffer* TF_NewBufferFromString(const(void)*, ulong) @nogc nothrow;
418     struct TF_Buffer
419     {
420         const(void)* data;
421         ulong length;
422         void function(void*, ulong) data_deallocator;
423     }
424     const(char)* TF_Version() @nogc nothrow;
425 
426 
427 
428     static if(!is(typeof(INT_LEAST32_MIN))) {
429         private enum enumMixinStr_INT_LEAST32_MIN = `enum INT_LEAST32_MIN = __INT_LEAST32_MIN;`;
430         static if(is(typeof({ mixin(enumMixinStr_INT_LEAST32_MIN); }))) {
431             mixin(enumMixinStr_INT_LEAST32_MIN);
432         }
433     }
434 
435 
436 
437 
438     static if(!is(typeof(INT_LEAST32_MAX))) {
439         private enum enumMixinStr_INT_LEAST32_MAX = `enum INT_LEAST32_MAX = __INT_LEAST32_MAX;`;
440         static if(is(typeof({ mixin(enumMixinStr_INT_LEAST32_MAX); }))) {
441             mixin(enumMixinStr_INT_LEAST32_MAX);
442         }
443     }
444 
445 
446 
447 
448     static if(!is(typeof(UINT_LEAST32_MAX))) {
449         private enum enumMixinStr_UINT_LEAST32_MAX = `enum UINT_LEAST32_MAX = __UINT_LEAST32_MAX;`;
450         static if(is(typeof({ mixin(enumMixinStr_UINT_LEAST32_MAX); }))) {
451             mixin(enumMixinStr_UINT_LEAST32_MAX);
452         }
453     }
454 
455 
456 
457 
458     static if(!is(typeof(INT_FAST32_MIN))) {
459         private enum enumMixinStr_INT_FAST32_MIN = `enum INT_FAST32_MIN = __INT_LEAST32_MIN;`;
460         static if(is(typeof({ mixin(enumMixinStr_INT_FAST32_MIN); }))) {
461             mixin(enumMixinStr_INT_FAST32_MIN);
462         }
463     }
464 
465 
466 
467 
468     static if(!is(typeof(INT_FAST32_MAX))) {
469         private enum enumMixinStr_INT_FAST32_MAX = `enum INT_FAST32_MAX = __INT_LEAST32_MAX;`;
470         static if(is(typeof({ mixin(enumMixinStr_INT_FAST32_MAX); }))) {
471             mixin(enumMixinStr_INT_FAST32_MAX);
472         }
473     }
474 
475 
476 
477 
478     static if(!is(typeof(UINT_FAST32_MAX))) {
479         private enum enumMixinStr_UINT_FAST32_MAX = `enum UINT_FAST32_MAX = __UINT_LEAST32_MAX;`;
480         static if(is(typeof({ mixin(enumMixinStr_UINT_FAST32_MAX); }))) {
481             mixin(enumMixinStr_UINT_FAST32_MAX);
482         }
483     }
484 
485 
486 
487 
488     static if(!is(typeof(__UINT_LEAST8_MAX))) {
489         private enum enumMixinStr___UINT_LEAST8_MAX = `enum __UINT_LEAST8_MAX = UINT32_MAX;`;
490         static if(is(typeof({ mixin(enumMixinStr___UINT_LEAST8_MAX); }))) {
491             mixin(enumMixinStr___UINT_LEAST8_MAX);
492         }
493     }
494 
495 
496 
497 
498     static if(!is(typeof(INT16_MAX))) {
499         private enum enumMixinStr_INT16_MAX = `enum INT16_MAX = INT16_C ( 32767 );`;
500         static if(is(typeof({ mixin(enumMixinStr_INT16_MAX); }))) {
501             mixin(enumMixinStr_INT16_MAX);
502         }
503     }
504 
505 
506 
507 
508     static if(!is(typeof(INT16_MIN))) {
509         private enum enumMixinStr_INT16_MIN = `enum INT16_MIN = ( - INT16_C ( 32767 ) - 1 );`;
510         static if(is(typeof({ mixin(enumMixinStr_INT16_MIN); }))) {
511             mixin(enumMixinStr_INT16_MIN);
512         }
513     }
514 
515 
516 
517 
518     static if(!is(typeof(UINT16_MAX))) {
519         private enum enumMixinStr_UINT16_MAX = `enum UINT16_MAX = UINT16_C ( 65535 );`;
520         static if(is(typeof({ mixin(enumMixinStr_UINT16_MAX); }))) {
521             mixin(enumMixinStr_UINT16_MAX);
522         }
523     }
524 
525 
526 
527 
528     static if(!is(typeof(__INT_LEAST16_MIN))) {
529         private enum enumMixinStr___INT_LEAST16_MIN = `enum __INT_LEAST16_MIN = ( - INT16_C ( 32767 ) - 1 );`;
530         static if(is(typeof({ mixin(enumMixinStr___INT_LEAST16_MIN); }))) {
531             mixin(enumMixinStr___INT_LEAST16_MIN);
532         }
533     }
534 
535 
536 
537 
538     static if(!is(typeof(__INT_LEAST16_MAX))) {
539         private enum enumMixinStr___INT_LEAST16_MAX = `enum __INT_LEAST16_MAX = INT16_C ( 32767 );`;
540         static if(is(typeof({ mixin(enumMixinStr___INT_LEAST16_MAX); }))) {
541             mixin(enumMixinStr___INT_LEAST16_MAX);
542         }
543     }
544 
545 
546 
547 
548     static if(!is(typeof(__UINT_LEAST16_MAX))) {
549         private enum enumMixinStr___UINT_LEAST16_MAX = `enum __UINT_LEAST16_MAX = UINT16_C ( 65535 );`;
550         static if(is(typeof({ mixin(enumMixinStr___UINT_LEAST16_MAX); }))) {
551             mixin(enumMixinStr___UINT_LEAST16_MAX);
552         }
553     }
554 
555 
556 
557 
558     static if(!is(typeof(__INT_LEAST8_MIN))) {
559         private enum enumMixinStr___INT_LEAST8_MIN = `enum __INT_LEAST8_MIN = ( - INT16_C ( 32767 ) - 1 );`;
560         static if(is(typeof({ mixin(enumMixinStr___INT_LEAST8_MIN); }))) {
561             mixin(enumMixinStr___INT_LEAST8_MIN);
562         }
563     }
564 
565 
566 
567 
568     static if(!is(typeof(__INT_LEAST8_MAX))) {
569         private enum enumMixinStr___INT_LEAST8_MAX = `enum __INT_LEAST8_MAX = INT16_C ( 32767 );`;
570         static if(is(typeof({ mixin(enumMixinStr___INT_LEAST8_MAX); }))) {
571             mixin(enumMixinStr___INT_LEAST8_MAX);
572         }
573     }
574 
575 
576 
577 
578     static if(!is(typeof(INT_LEAST16_MIN))) {
579         private enum enumMixinStr_INT_LEAST16_MIN = `enum INT_LEAST16_MIN = ( - INT16_C ( 32767 ) - 1 );`;
580         static if(is(typeof({ mixin(enumMixinStr_INT_LEAST16_MIN); }))) {
581             mixin(enumMixinStr_INT_LEAST16_MIN);
582         }
583     }
584 
585 
586 
587 
588     static if(!is(typeof(INT_LEAST16_MAX))) {
589         private enum enumMixinStr_INT_LEAST16_MAX = `enum INT_LEAST16_MAX = INT16_C ( 32767 );`;
590         static if(is(typeof({ mixin(enumMixinStr_INT_LEAST16_MAX); }))) {
591             mixin(enumMixinStr_INT_LEAST16_MAX);
592         }
593     }
594 
595 
596 
597 
598     static if(!is(typeof(UINT_LEAST16_MAX))) {
599         private enum enumMixinStr_UINT_LEAST16_MAX = `enum UINT_LEAST16_MAX = UINT16_C ( 65535 );`;
600         static if(is(typeof({ mixin(enumMixinStr_UINT_LEAST16_MAX); }))) {
601             mixin(enumMixinStr_UINT_LEAST16_MAX);
602         }
603     }
604 
605 
606 
607 
608     static if(!is(typeof(INT_FAST16_MIN))) {
609         private enum enumMixinStr_INT_FAST16_MIN = `enum INT_FAST16_MIN = ( - INT16_C ( 32767 ) - 1 );`;
610         static if(is(typeof({ mixin(enumMixinStr_INT_FAST16_MIN); }))) {
611             mixin(enumMixinStr_INT_FAST16_MIN);
612         }
613     }
614 
615 
616 
617 
618     static if(!is(typeof(INT_FAST16_MAX))) {
619         private enum enumMixinStr_INT_FAST16_MAX = `enum INT_FAST16_MAX = INT16_C ( 32767 );`;
620         static if(is(typeof({ mixin(enumMixinStr_INT_FAST16_MAX); }))) {
621             mixin(enumMixinStr_INT_FAST16_MAX);
622         }
623     }
624 
625 
626 
627 
628     static if(!is(typeof(UINT_FAST16_MAX))) {
629         private enum enumMixinStr_UINT_FAST16_MAX = `enum UINT_FAST16_MAX = UINT16_C ( 65535 );`;
630         static if(is(typeof({ mixin(enumMixinStr_UINT_FAST16_MAX); }))) {
631             mixin(enumMixinStr_UINT_FAST16_MAX);
632         }
633     }
634 
635 
636 
637 
638     static if(!is(typeof(INT8_MAX))) {
639         private enum enumMixinStr_INT8_MAX = `enum INT8_MAX = INT8_C ( 127 );`;
640         static if(is(typeof({ mixin(enumMixinStr_INT8_MAX); }))) {
641             mixin(enumMixinStr_INT8_MAX);
642         }
643     }
644 
645 
646 
647 
648     static if(!is(typeof(INT8_MIN))) {
649         private enum enumMixinStr_INT8_MIN = `enum INT8_MIN = ( - INT8_C ( 127 ) - 1 );`;
650         static if(is(typeof({ mixin(enumMixinStr_INT8_MIN); }))) {
651             mixin(enumMixinStr_INT8_MIN);
652         }
653     }
654 
655 
656 
657 
658     static if(!is(typeof(UINT8_MAX))) {
659         private enum enumMixinStr_UINT8_MAX = `enum UINT8_MAX = UINT8_C ( 255 );`;
660         static if(is(typeof({ mixin(enumMixinStr_UINT8_MAX); }))) {
661             mixin(enumMixinStr_UINT8_MAX);
662         }
663     }
664 
665 
666 
667 
668     static if(!is(typeof(INT_LEAST8_MIN))) {
669         private enum enumMixinStr_INT_LEAST8_MIN = `enum INT_LEAST8_MIN = ( - INT16_C ( 32767 ) - 1 );`;
670         static if(is(typeof({ mixin(enumMixinStr_INT_LEAST8_MIN); }))) {
671             mixin(enumMixinStr_INT_LEAST8_MIN);
672         }
673     }
674 
675 
676 
677 
678     static if(!is(typeof(INT_LEAST8_MAX))) {
679         private enum enumMixinStr_INT_LEAST8_MAX = `enum INT_LEAST8_MAX = INT16_C ( 32767 );`;
680         static if(is(typeof({ mixin(enumMixinStr_INT_LEAST8_MAX); }))) {
681             mixin(enumMixinStr_INT_LEAST8_MAX);
682         }
683     }
684 
685 
686 
687 
688     static if(!is(typeof(UINT_LEAST8_MAX))) {
689         private enum enumMixinStr_UINT_LEAST8_MAX = `enum UINT_LEAST8_MAX = UINT32_MAX;`;
690         static if(is(typeof({ mixin(enumMixinStr_UINT_LEAST8_MAX); }))) {
691             mixin(enumMixinStr_UINT_LEAST8_MAX);
692         }
693     }
694 
695 
696 
697 
698     static if(!is(typeof(INT_FAST8_MIN))) {
699         private enum enumMixinStr_INT_FAST8_MIN = `enum INT_FAST8_MIN = ( - INT16_C ( 32767 ) - 1 );`;
700         static if(is(typeof({ mixin(enumMixinStr_INT_FAST8_MIN); }))) {
701             mixin(enumMixinStr_INT_FAST8_MIN);
702         }
703     }
704 
705 
706 
707 
708     static if(!is(typeof(INT_FAST8_MAX))) {
709         private enum enumMixinStr_INT_FAST8_MAX = `enum INT_FAST8_MAX = INT16_C ( 32767 );`;
710         static if(is(typeof({ mixin(enumMixinStr_INT_FAST8_MAX); }))) {
711             mixin(enumMixinStr_INT_FAST8_MAX);
712         }
713     }
714 
715 
716 
717 
718     static if(!is(typeof(UINT_FAST8_MAX))) {
719         private enum enumMixinStr_UINT_FAST8_MAX = `enum UINT_FAST8_MAX = UINT32_MAX;`;
720         static if(is(typeof({ mixin(enumMixinStr_UINT_FAST8_MAX); }))) {
721             mixin(enumMixinStr_UINT_FAST8_MAX);
722         }
723     }
724     static if(!is(typeof(INTPTR_MIN))) {
725         private enum enumMixinStr_INTPTR_MIN = `enum INTPTR_MIN = ( - 9223372036854775807LL - 1 );`;
726         static if(is(typeof({ mixin(enumMixinStr_INTPTR_MIN); }))) {
727             mixin(enumMixinStr_INTPTR_MIN);
728         }
729     }
730 
731 
732 
733 
734     static if(!is(typeof(INTPTR_MAX))) {
735         private enum enumMixinStr_INTPTR_MAX = `enum INTPTR_MAX = 9223372036854775807LL;`;
736         static if(is(typeof({ mixin(enumMixinStr_INTPTR_MAX); }))) {
737             mixin(enumMixinStr_INTPTR_MAX);
738         }
739     }
740 
741 
742 
743 
744     static if(!is(typeof(UINTPTR_MAX))) {
745         private enum enumMixinStr_UINTPTR_MAX = `enum UINTPTR_MAX = 18446744073709551615ULL;`;
746         static if(is(typeof({ mixin(enumMixinStr_UINTPTR_MAX); }))) {
747             mixin(enumMixinStr_UINTPTR_MAX);
748         }
749     }
750 
751 
752 
753 
754     static if(!is(typeof(PTRDIFF_MIN))) {
755         private enum enumMixinStr_PTRDIFF_MIN = `enum PTRDIFF_MIN = ( - 9223372036854775807LL - 1 );`;
756         static if(is(typeof({ mixin(enumMixinStr_PTRDIFF_MIN); }))) {
757             mixin(enumMixinStr_PTRDIFF_MIN);
758         }
759     }
760 
761 
762 
763 
764     static if(!is(typeof(PTRDIFF_MAX))) {
765         private enum enumMixinStr_PTRDIFF_MAX = `enum PTRDIFF_MAX = 9223372036854775807LL;`;
766         static if(is(typeof({ mixin(enumMixinStr_PTRDIFF_MAX); }))) {
767             mixin(enumMixinStr_PTRDIFF_MAX);
768         }
769     }
770 
771 
772 
773 
774     static if(!is(typeof(SIZE_MAX))) {
775         private enum enumMixinStr_SIZE_MAX = `enum SIZE_MAX = 18446744073709551615ULL;`;
776         static if(is(typeof({ mixin(enumMixinStr_SIZE_MAX); }))) {
777             mixin(enumMixinStr_SIZE_MAX);
778         }
779     }
780 
781 
782 
783 
784     static if(!is(typeof(INTMAX_MIN))) {
785         private enum enumMixinStr_INTMAX_MIN = `enum INTMAX_MIN = ( - 9223372036854775807LL - 1 );`;
786         static if(is(typeof({ mixin(enumMixinStr_INTMAX_MIN); }))) {
787             mixin(enumMixinStr_INTMAX_MIN);
788         }
789     }
790 
791 
792 
793 
794     static if(!is(typeof(INTMAX_MAX))) {
795         private enum enumMixinStr_INTMAX_MAX = `enum INTMAX_MAX = 9223372036854775807LL;`;
796         static if(is(typeof({ mixin(enumMixinStr_INTMAX_MAX); }))) {
797             mixin(enumMixinStr_INTMAX_MAX);
798         }
799     }
800 
801 
802 
803 
804     static if(!is(typeof(UINTMAX_MAX))) {
805         private enum enumMixinStr_UINTMAX_MAX = `enum UINTMAX_MAX = 18446744073709551615ULL;`;
806         static if(is(typeof({ mixin(enumMixinStr_UINTMAX_MAX); }))) {
807             mixin(enumMixinStr_UINTMAX_MAX);
808         }
809     }
810 
811 
812 
813 
814     static if(!is(typeof(SIG_ATOMIC_MIN))) {
815         private enum enumMixinStr_SIG_ATOMIC_MIN = `enum SIG_ATOMIC_MIN = __stdint_join3 ( INT , 32 , _MIN );`;
816         static if(is(typeof({ mixin(enumMixinStr_SIG_ATOMIC_MIN); }))) {
817             mixin(enumMixinStr_SIG_ATOMIC_MIN);
818         }
819     }
820 
821 
822 
823 
824     static if(!is(typeof(SIG_ATOMIC_MAX))) {
825         private enum enumMixinStr_SIG_ATOMIC_MAX = `enum SIG_ATOMIC_MAX = __stdint_join3 ( INT , 32 , _MAX );`;
826         static if(is(typeof({ mixin(enumMixinStr_SIG_ATOMIC_MAX); }))) {
827             mixin(enumMixinStr_SIG_ATOMIC_MAX);
828         }
829     }
830 
831 
832 
833 
834     static if(!is(typeof(WINT_MIN))) {
835         private enum enumMixinStr_WINT_MIN = `enum WINT_MIN = __stdint_join3 ( INT , 32 , _MIN );`;
836         static if(is(typeof({ mixin(enumMixinStr_WINT_MIN); }))) {
837             mixin(enumMixinStr_WINT_MIN);
838         }
839     }
840 
841 
842 
843 
844     static if(!is(typeof(WINT_MAX))) {
845         private enum enumMixinStr_WINT_MAX = `enum WINT_MAX = __stdint_join3 ( INT , 32 , _MAX );`;
846         static if(is(typeof({ mixin(enumMixinStr_WINT_MAX); }))) {
847             mixin(enumMixinStr_WINT_MAX);
848         }
849     }
850 
851 
852 
853 
854     static if(!is(typeof(WCHAR_MAX))) {
855         private enum enumMixinStr_WCHAR_MAX = `enum WCHAR_MAX = 65535;`;
856         static if(is(typeof({ mixin(enumMixinStr_WCHAR_MAX); }))) {
857             mixin(enumMixinStr_WCHAR_MAX);
858         }
859     }
860 
861 
862 
863 
864     static if(!is(typeof(__UINT_LEAST32_MAX))) {
865         private enum enumMixinStr___UINT_LEAST32_MAX = `enum __UINT_LEAST32_MAX = UINT32_MAX;`;
866         static if(is(typeof({ mixin(enumMixinStr___UINT_LEAST32_MAX); }))) {
867             mixin(enumMixinStr___UINT_LEAST32_MAX);
868         }
869     }
870 
871 
872 
873 
874     static if(!is(typeof(WCHAR_MIN))) {
875         private enum enumMixinStr_WCHAR_MIN = `enum WCHAR_MIN = __stdint_join3 ( UINT , 16 , _C ( 0 ) );`;
876         static if(is(typeof({ mixin(enumMixinStr_WCHAR_MIN); }))) {
877             mixin(enumMixinStr_WCHAR_MIN);
878         }
879     }
880     static if(!is(typeof(__INT_LEAST32_MAX))) {
881         private enum enumMixinStr___INT_LEAST32_MAX = `enum __INT_LEAST32_MAX = INT32_MAX;`;
882         static if(is(typeof({ mixin(enumMixinStr___INT_LEAST32_MAX); }))) {
883             mixin(enumMixinStr___INT_LEAST32_MAX);
884         }
885     }
886 
887 
888 
889 
890 
891 
892     static if(!is(typeof(__INT_LEAST32_MIN))) {
893         private enum enumMixinStr___INT_LEAST32_MIN = `enum __INT_LEAST32_MIN = INT32_MIN;`;
894         static if(is(typeof({ mixin(enumMixinStr___INT_LEAST32_MIN); }))) {
895             mixin(enumMixinStr___INT_LEAST32_MIN);
896         }
897     }
898 
899 
900 
901 
902     static if(!is(typeof(UINT32_MAX))) {
903         private enum enumMixinStr_UINT32_MAX = `enum UINT32_MAX = UINT32_C ( 4294967295 );`;
904         static if(is(typeof({ mixin(enumMixinStr_UINT32_MAX); }))) {
905             mixin(enumMixinStr_UINT32_MAX);
906         }
907     }
908 
909 
910 
911 
912     static if(!is(typeof(INT32_MIN))) {
913         private enum enumMixinStr_INT32_MIN = `enum INT32_MIN = ( - INT32_C ( 2147483647 ) - 1 );`;
914         static if(is(typeof({ mixin(enumMixinStr_INT32_MIN); }))) {
915             mixin(enumMixinStr_INT32_MIN);
916         }
917     }
918 
919 
920 
921 
922     static if(!is(typeof(INT32_MAX))) {
923         private enum enumMixinStr_INT32_MAX = `enum INT32_MAX = INT32_C ( 2147483647 );`;
924         static if(is(typeof({ mixin(enumMixinStr_INT32_MAX); }))) {
925             mixin(enumMixinStr_INT32_MAX);
926         }
927     }
928 
929 
930 
931 
932     static if(!is(typeof(UINT_FAST64_MAX))) {
933         private enum enumMixinStr_UINT_FAST64_MAX = `enum UINT_FAST64_MAX = __UINT_LEAST64_MAX;`;
934         static if(is(typeof({ mixin(enumMixinStr_UINT_FAST64_MAX); }))) {
935             mixin(enumMixinStr_UINT_FAST64_MAX);
936         }
937     }
938 
939 
940 
941 
942     static if(!is(typeof(INT_FAST64_MAX))) {
943         private enum enumMixinStr_INT_FAST64_MAX = `enum INT_FAST64_MAX = __INT_LEAST64_MAX;`;
944         static if(is(typeof({ mixin(enumMixinStr_INT_FAST64_MAX); }))) {
945             mixin(enumMixinStr_INT_FAST64_MAX);
946         }
947     }
948 
949 
950 
951 
952     static if(!is(typeof(INT_FAST64_MIN))) {
953         private enum enumMixinStr_INT_FAST64_MIN = `enum INT_FAST64_MIN = __INT_LEAST64_MIN;`;
954         static if(is(typeof({ mixin(enumMixinStr_INT_FAST64_MIN); }))) {
955             mixin(enumMixinStr_INT_FAST64_MIN);
956         }
957     }
958 
959 
960 
961 
962     static if(!is(typeof(TF_CAPI_EXPORT))) {
963         private enum enumMixinStr_TF_CAPI_EXPORT = `enum TF_CAPI_EXPORT = __declspec ( dllimport );`;
964         static if(is(typeof({ mixin(enumMixinStr_TF_CAPI_EXPORT); }))) {
965             mixin(enumMixinStr_TF_CAPI_EXPORT);
966         }
967     }
968 
969 
970 
971 
972     static if(!is(typeof(UINT_LEAST64_MAX))) {
973         private enum enumMixinStr_UINT_LEAST64_MAX = `enum UINT_LEAST64_MAX = __UINT_LEAST64_MAX;`;
974         static if(is(typeof({ mixin(enumMixinStr_UINT_LEAST64_MAX); }))) {
975             mixin(enumMixinStr_UINT_LEAST64_MAX);
976         }
977     }
978 
979 
980 
981 
982     static if(!is(typeof(INT_LEAST64_MAX))) {
983         private enum enumMixinStr_INT_LEAST64_MAX = `enum INT_LEAST64_MAX = __INT_LEAST64_MAX;`;
984         static if(is(typeof({ mixin(enumMixinStr_INT_LEAST64_MAX); }))) {
985             mixin(enumMixinStr_INT_LEAST64_MAX);
986         }
987     }
988 
989 
990 
991 
992     static if(!is(typeof(INT_LEAST64_MIN))) {
993         private enum enumMixinStr_INT_LEAST64_MIN = `enum INT_LEAST64_MIN = __INT_LEAST64_MIN;`;
994         static if(is(typeof({ mixin(enumMixinStr_INT_LEAST64_MIN); }))) {
995             mixin(enumMixinStr_INT_LEAST64_MIN);
996         }
997     }
998 
999 
1000 
1001 
1002     static if(!is(typeof(__UINT_LEAST64_MAX))) {
1003         private enum enumMixinStr___UINT_LEAST64_MAX = `enum __UINT_LEAST64_MAX = UINT64_MAX;`;
1004         static if(is(typeof({ mixin(enumMixinStr___UINT_LEAST64_MAX); }))) {
1005             mixin(enumMixinStr___UINT_LEAST64_MAX);
1006         }
1007     }
1008 
1009 
1010 
1011 
1012     static if(!is(typeof(__INT_LEAST64_MAX))) {
1013         private enum enumMixinStr___INT_LEAST64_MAX = `enum __INT_LEAST64_MAX = INT64_MAX;`;
1014         static if(is(typeof({ mixin(enumMixinStr___INT_LEAST64_MAX); }))) {
1015             mixin(enumMixinStr___INT_LEAST64_MAX);
1016         }
1017     }
1018 
1019 
1020 
1021 
1022     static if(!is(typeof(__INT_LEAST64_MIN))) {
1023         private enum enumMixinStr___INT_LEAST64_MIN = `enum __INT_LEAST64_MIN = INT64_MIN;`;
1024         static if(is(typeof({ mixin(enumMixinStr___INT_LEAST64_MIN); }))) {
1025             mixin(enumMixinStr___INT_LEAST64_MIN);
1026         }
1027     }
1028 
1029 
1030 
1031 
1032     static if(!is(typeof(UINT64_MAX))) {
1033         private enum enumMixinStr_UINT64_MAX = `enum UINT64_MAX = UINT64_C ( 18446744073709551615 );`;
1034         static if(is(typeof({ mixin(enumMixinStr_UINT64_MAX); }))) {
1035             mixin(enumMixinStr_UINT64_MAX);
1036         }
1037     }
1038 
1039 
1040 
1041 
1042     static if(!is(typeof(INT64_MIN))) {
1043         private enum enumMixinStr_INT64_MIN = `enum INT64_MIN = ( - INT64_C ( 9223372036854775807 ) - 1 );`;
1044         static if(is(typeof({ mixin(enumMixinStr_INT64_MIN); }))) {
1045             mixin(enumMixinStr_INT64_MIN);
1046         }
1047     }
1048 
1049 
1050 
1051 
1052     static if(!is(typeof(INT64_MAX))) {
1053         private enum enumMixinStr_INT64_MAX = `enum INT64_MAX = INT64_C ( 9223372036854775807 );`;
1054         static if(is(typeof({ mixin(enumMixinStr_INT64_MAX); }))) {
1055             mixin(enumMixinStr_INT64_MAX);
1056         }
1057     }
1058     static if(!is(typeof(__int8_c_suffix))) {
1059         private enum enumMixinStr___int8_c_suffix = `enum __int8_c_suffix = ;`;
1060         static if(is(typeof({ mixin(enumMixinStr___int8_c_suffix); }))) {
1061             mixin(enumMixinStr___int8_c_suffix);
1062         }
1063     }
1064     static if(!is(typeof(__int16_c_suffix))) {
1065         private enum enumMixinStr___int16_c_suffix = `enum __int16_c_suffix = ;`;
1066         static if(is(typeof({ mixin(enumMixinStr___int16_c_suffix); }))) {
1067             mixin(enumMixinStr___int16_c_suffix);
1068         }
1069     }
1070     static if(!is(typeof(__int32_c_suffix))) {
1071         private enum enumMixinStr___int32_c_suffix = `enum __int32_c_suffix = ;`;
1072         static if(is(typeof({ mixin(enumMixinStr___int32_c_suffix); }))) {
1073             mixin(enumMixinStr___int32_c_suffix);
1074         }
1075     }
1076     static if(!is(typeof(__int64_c_suffix))) {
1077         private enum enumMixinStr___int64_c_suffix = `enum __int64_c_suffix = LL;`;
1078         static if(is(typeof({ mixin(enumMixinStr___int64_c_suffix); }))) {
1079             mixin(enumMixinStr___int64_c_suffix);
1080         }
1081     }
1082     static if(!is(typeof(__uint_least8_t))) {
1083         private enum enumMixinStr___uint_least8_t = `enum __uint_least8_t = uint8_t;`;
1084         static if(is(typeof({ mixin(enumMixinStr___uint_least8_t); }))) {
1085             mixin(enumMixinStr___uint_least8_t);
1086         }
1087     }
1088 
1089 
1090 
1091 
1092     static if(!is(typeof(__int_least8_t))) {
1093         private enum enumMixinStr___int_least8_t = `enum __int_least8_t = int8_t;`;
1094         static if(is(typeof({ mixin(enumMixinStr___int_least8_t); }))) {
1095             mixin(enumMixinStr___int_least8_t);
1096         }
1097     }
1098 
1099 
1100 
1101 
1102     static if(!is(typeof(__uint_least16_t))) {
1103         private enum enumMixinStr___uint_least16_t = `enum __uint_least16_t = uint16_t;`;
1104         static if(is(typeof({ mixin(enumMixinStr___uint_least16_t); }))) {
1105             mixin(enumMixinStr___uint_least16_t);
1106         }
1107     }
1108 
1109 
1110 
1111 
1112     static if(!is(typeof(__int_least16_t))) {
1113         private enum enumMixinStr___int_least16_t = `enum __int_least16_t = int16_t;`;
1114         static if(is(typeof({ mixin(enumMixinStr___int_least16_t); }))) {
1115             mixin(enumMixinStr___int_least16_t);
1116         }
1117     }
1118 
1119 
1120 
1121 
1122     static if(!is(typeof(__uint_least32_t))) {
1123         private enum enumMixinStr___uint_least32_t = `enum __uint_least32_t = uint32_t;`;
1124         static if(is(typeof({ mixin(enumMixinStr___uint_least32_t); }))) {
1125             mixin(enumMixinStr___uint_least32_t);
1126         }
1127     }
1128 
1129 
1130 
1131 
1132     static if(!is(typeof(__int_least32_t))) {
1133         private enum enumMixinStr___int_least32_t = `enum __int_least32_t = int32_t;`;
1134         static if(is(typeof({ mixin(enumMixinStr___int_least32_t); }))) {
1135             mixin(enumMixinStr___int_least32_t);
1136         }
1137     }
1138 
1139 
1140 
1141 
1142 
1143 
1144     static if(!is(typeof(__uint_least64_t))) {
1145         private enum enumMixinStr___uint_least64_t = `enum __uint_least64_t = uint64_t;`;
1146         static if(is(typeof({ mixin(enumMixinStr___uint_least64_t); }))) {
1147             mixin(enumMixinStr___uint_least64_t);
1148         }
1149     }
1150 
1151 
1152 
1153 
1154     static if(!is(typeof(__int_least64_t))) {
1155         private enum enumMixinStr___int_least64_t = `enum __int_least64_t = int64_t;`;
1156         static if(is(typeof({ mixin(enumMixinStr___int_least64_t); }))) {
1157             mixin(enumMixinStr___int_least64_t);
1158         }
1159     }
1160     static if(!is(typeof(NULL))) {
1161         private enum enumMixinStr_NULL = `enum NULL = ( cast( void * ) 0 );`;
1162         static if(is(typeof({ mixin(enumMixinStr_NULL); }))) {
1163             mixin(enumMixinStr_NULL);
1164         }
1165     }
1166     static if(!is(typeof(__bool_true_false_are_defined))) {
1167         private enum enumMixinStr___bool_true_false_are_defined = `enum __bool_true_false_are_defined = 1;`;
1168         static if(is(typeof({ mixin(enumMixinStr___bool_true_false_are_defined); }))) {
1169             mixin(enumMixinStr___bool_true_false_are_defined);
1170         }
1171     }
1172 
1173 
1174 
1175 
1176     static if(!is(typeof(false_))) {
1177         private enum enumMixinStr_false_ = `enum false_ = 0;`;
1178         static if(is(typeof({ mixin(enumMixinStr_false_); }))) {
1179             mixin(enumMixinStr_false_);
1180         }
1181     }
1182 
1183 
1184 
1185 
1186     static if(!is(typeof(true_))) {
1187         private enum enumMixinStr_true_ = `enum true_ = 1;`;
1188         static if(is(typeof({ mixin(enumMixinStr_true_); }))) {
1189             mixin(enumMixinStr_true_);
1190         }
1191     }
1192 
1193 
1194 
1195 
1196     static if(!is(typeof(bool_))) {
1197         private enum enumMixinStr_bool_ = `enum bool_ = _Bool;`;
1198         static if(is(typeof({ mixin(enumMixinStr_bool_); }))) {
1199             mixin(enumMixinStr_bool_);
1200         }
1201     }
1202 }
1203 
1204 
1205 
1206 version (Windows):