This file is indexed.

/usr/include/trilinos/CTrilinos_enums.h is in libtrilinos-dev 10.4.0.dfsg-1ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
/*! @HEADER */
/*
************************************************************************

                CTrilinos:  C interface to Trilinos
                Copyright (2009) Sandia Corporation

Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
license for use of this work by or on behalf of the U.S. Government.

This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA
Questions? Contact M. Nicole Lemaster (mnlemas@sandia.gov)

************************************************************************
*/
/*! @HEADER */


/*! @file CTrilinos_enums.h
 * @brief Defines structs and enums needed for CTrilinos. */


#ifndef CTRILINOS_ENUMS_H
#define CTRILINOS_ENUMS_H


#include "CTrilinos_config.h"
#include "CTrilinos_enum_wrappers.h"


#ifdef __cplusplus
extern "C" {
#endif


/*! C does not support the C++ bool type, so the enum below will
 * act as a custom boolean type for users using a C compiler.  #TRUE is
 * the equivalent of true and #FALSE is the equivalent of false. */

typedef int boolean;

/*! #boolean uses TRUE instead of true. */
#ifndef TRUE
#  define TRUE 1
#endif

/*! #boolean uses FALSE instead of false. */
#ifndef FALSE
#  define FALSE 0
#endif

/*! The enum below lists all the classes that CTrilinos supports.  Classes
 * that are derived from a base class listed below can also be used with some
 * restrictions: (1) the only methods that can be called on such classes are
 * the ones defined by the base class and (2) objects of the derived type can
 * only be passed to methods expecting an argument of the base-class type. */

typedef enum {
    CT_Invalid_ID,                       /*!< does not refer to a valid table entry */
    CT_Epetra_Distributor_ID,            /*!< refers to an Epetra_Distributor table entry */
    CT_Epetra_SerialComm_ID,             /*!< refers to an Epetra_SerialComm table entry */
    CT_Epetra_BLAS_ID,                   /*!< refers to an Epetra_BLAS table entry */
    CT_Epetra_Comm_ID,                   /*!< refers to an Epetra_Comm table entry */
    CT_Epetra_Operator_ID,               /*!< refers to an Epetra_Operator table entry */
    CT_Epetra_MultiVector_ID,            /*!< refers to an Epetra_MultiVector table entry */
    CT_Epetra_OffsetIndex_ID,            /*!< refers to an Epetra_OffsetIndex table entry */
    CT_Epetra_Object_ID,                 /*!< refers to an Epetra_Object table entry */
    CT_Epetra_RowMatrix_ID,              /*!< refers to an Epetra_RowMatrix table entry */
    CT_Epetra_CompObject_ID,             /*!< refers to an Epetra_CompObject table entry */
    CT_Epetra_Directory_ID,              /*!< refers to an Epetra_Directory table entry */
    CT_Epetra_Flops_ID,                  /*!< refers to an Epetra_Flops table entry */
    CT_Epetra_SrcDistObject_ID,          /*!< refers to an Epetra_SrcDistObject table entry */
    CT_Epetra_MpiComm_ID,                /*!< refers to an Epetra_MpiComm table entry */
    CT_Epetra_CrsMatrix_ID,              /*!< refers to an Epetra_CrsMatrix table entry */
    CT_Epetra_CrsGraph_ID,               /*!< refers to an Epetra_CrsGraph table entry */
    CT_Epetra_DistObject_ID,             /*!< refers to an Epetra_DistObject table entry */
    CT_Epetra_Vector_ID,                 /*!< refers to an Epetra_Vector table entry */
    CT_Epetra_Export_ID,                 /*!< refers to an Epetra_Export table entry */
    CT_Epetra_Map_ID,                    /*!< refers to an Epetra_Map table entry */
    CT_Epetra_BlockMap_ID,               /*!< refers to an Epetra_BlockMap table entry */
    CT_Epetra_Import_ID,                 /*!< refers to an Epetra_Import table entry */
    CT_Epetra_Time_ID,                   /*!< refers to an Epetra_Time table entry */
    CT_Epetra_JadMatrix_ID,              /*!< refers to an Epetra_JadMatrix table entry */
    CT_Epetra_LinearProblem_ID,          /*!< refers to an Epetra_LinearProblem table entry */
    CT_Epetra_LAPACK_ID,                 /*!< refers to an Epetra_LAPACK table entry */
    CT_Teuchos_CommandLineProcessor_ID,  /*!< refers to a Teuchos::CommandLineProcessor table entry */
    CT_Teuchos_ParameterList_ID,         /*!< refers to a Teuchos::ParameterList table entry */
    CT_Teuchos_ParameterEntry_ID,        /*!< refers to a Teuchos::ParameterEntry table entry */
    CT_Teuchos_any_ID,                   /*!< refers to a Teuchos::any table entry */
    CT_Amesos_BaseSolver_ID,             /*!< refers to an Amesos_BaseSolver table entry */
    CT_Amesos_ID,                        /*!< refers to an Amesos table entry */
    CT_Epetra_FECrsMatrix_ID,            /*!< refers to an Epetra_FECrsMatrix table entry */
    CT_Epetra_IntSerialDenseVector_ID,   /*!< refers to an Epetra_IntSerialDenseVector table entry */
    CT_Epetra_SerialDenseMatrix_ID,      /*!< refers to an Epetra_SerialDenseMatrix table entry */
    CT_AztecOO_ID,                       /*!< refers to an AztecOO table entry */
    CT_AztecOO_StatusTest_ID,            /*!< refers to an AztecOO_StatusTest table entry */
    CT_AztecOO_StatusTestCombo_ID,       /*!< refers to an AztecOO_StatusTestCombo table entry */
    CT_AztecOO_StatusTestMaxIters_ID,    /*!< refers to an AztecOO_StatusTestMaxIters table entry */
    CT_AztecOO_StatusTestResNorm_ID,     /*!< refers to an AztecOO_StatusTestResNorm table entry */
    CT_Ifpack_ID,                        /*!< refers to an Ifpack table entry */
    CT_Ifpack_Preconditioner_ID          /*!< refers to an Ifpack_Preconditioner table entry */
} CTrilinos_Table_ID_t;

/*! The type in the struct below is actually used to identify the table in
 * which the object is stored and not the type of the underlying object.  The
 * end user should NEVER change the content of this struct as it will result
 * in segfaults and/or memory leaks.  When the user asks that the object
 * be removed from the table, the type will be changed to CT_Invalid_ID by the
 * destructor function. */

typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CTrilinos_Universal_ID_t;

/* All structs for specific types are identical but are declared separately
 * rather than as a typedef of the generic one so that they are not inter-
 * changeable.  This forces the compiler to perform type-checking on calls
 * to the wrapper functions and will make debugging easier for the user. */

/*! Struct used for referring to objects in the Epetra_Distributor table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Distributor.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Distributor_ID_t;

/*! Struct used for referring to objects in the Epetra_SerialComm table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_SerialComm.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_SerialComm_ID_t;

/*! Struct used for referring to objects in the Epetra_BLAS table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_BLAS.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_BLAS_ID_t;

/*! Struct used for referring to objects in the Epetra_Comm table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Comm.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Comm_ID_t;

/*! Struct used for referring to objects in the Epetra_Operator table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Operator.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Operator_ID_t;

/*! Struct used for referring to objects in the Epetra_MultiVector table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_MultiVector.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_MultiVector_ID_t;

/*! Struct used for referring to objects in the Epetra_OffsetIndex table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_OffsetIndex.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_OffsetIndex_ID_t;

/*! Struct used for referring to objects in the Epetra_Object table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Object.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Object_ID_t;

/*! Struct used for referring to objects in the Epetra_RowMatrix table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_RowMatrix.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_RowMatrix_ID_t;

/*! Struct used for referring to objects in the Epetra_CompObject table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_CompObject.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_CompObject_ID_t;

/*! Struct used for referring to objects in the Epetra_Directory table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Directory.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Directory_ID_t;

/*! Struct used for referring to objects in the Epetra_Flops table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Flops.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Flops_ID_t;

/*! Struct used for referring to objects in the Epetra_SrcDistObject table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_SrcDistObject.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_SrcDistObject_ID_t;

#ifdef HAVE_MPI
/*! Struct used for referring to objects in the Epetra_MpiComm table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_MpiComm.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_MpiComm_ID_t;
#endif /* HAVE_MPI */

/*! Struct used for referring to objects in the Epetra_CrsMatrix table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_CrsMatrix.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_CrsMatrix_ID_t;

/*! Struct used for referring to objects in the Epetra_CrsGraph table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_CrsGraph.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_CrsGraph_ID_t;

/*! Struct used for referring to objects in the Epetra_DistObject table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_DistObject.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_DistObject_ID_t;

/*! Struct used for referring to objects in the Epetra_Vector table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Vector.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Vector_ID_t;

/*! Struct used for referring to objects in the Epetra_Export table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Export.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Export_ID_t;

/*! Struct used for referring to objects in the Epetra_Map table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Map.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Map_ID_t;

/*! Struct used for referring to objects in the Epetra_BlockMap table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_BlockMap.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_BlockMap_ID_t;

/*! Struct used for referring to objects in the Epetra_Import table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Import.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Import_ID_t;

/*! Struct used for referring to objects in the Epetra_Time table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_Time.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_Time_ID_t;

/*! Struct used for referring to objects in the Epetra_JadMatrix table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_JadMatrix.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_JadMatrix_ID_t;

/*! Struct used for referring to objects in the Epetra_LinearProblem table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_LinearProblem.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_LinearProblem_ID_t;

/*! Struct used for referring to objects in the Epetra_LAPACK table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_LAPACK.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_LAPACK_ID_t;

/*! Struct used for referring to objects in the Teuchos::CommandLineProcessor table.  Methods
 * that can be invoked on the underlying objects are listed in CTeuchos_CommandLineProcessor.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Teuchos_CommandLineProcessor_ID_t;

/*! Struct used for referring to objects in the Teuchos::ParameterList table.  Methods
 * that can be invoked on the underlying objects are listed in CTeuchos_ParameterList.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Teuchos_ParameterList_ID_t;

/*! Struct used for referring to objects in the Teuchos::ParameterEntry table.  Methods
 * that can be invoked on the underlying objects are listed in CTeuchos_ParameterEntry.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Teuchos_ParameterEntry_ID_t;

/*! Struct used for referring to objects in the Teuchos::any table.  Methods
 * that can be invoked on the underlying objects are listed in CTeuchos_any.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Teuchos_any_ID_t;

#ifdef HAVE_CTRILINOS_AMESOS
/*! Struct used for referring to objects in the Amesos_BaseSolver table.  Methods
 * that can be invoked on the underlying objects are listed in CAmesos_BaseSolver.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Amesos_BaseSolver_ID_t;
#endif /* HAVE_CTRILINOS_AMESOS */

#ifdef HAVE_CTRILINOS_AMESOS
/*! Struct used for referring to objects in the Amesos table.  Methods
 * that can be invoked on the underlying objects are listed in CAmesos.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Amesos_ID_t;
#endif /* HAVE_CTRILINOS_AMESOS */

/*! Struct used for referring to objects in the Epetra_FECrsMatrix table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_FECrsMatrix.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_FECrsMatrix_ID_t;

/*! Struct used for referring to objects in the Epetra_IntSerialDenseVector table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_IntSerialDenseVector.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_IntSerialDenseVector_ID_t;

/*! Struct used for referring to objects in the Epetra_SerialDenseMatrix table.  Methods
 * that can be invoked on the underlying objects are listed in CEpetra_SerialDenseMatrix.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Epetra_SerialDenseMatrix_ID_t;

#ifdef HAVE_CTRILINOS_AZTECOO
/*! Struct used for referring to objects in the AztecOO table.  Methods
 * that can be invoked on the underlying objects are listed in CAztecOO.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_AztecOO_ID_t;
#endif /* HAVE_CTRILINOS_AZTECOO */

#ifdef HAVE_CTRILINOS_AZTECOO
/*! Struct used for referring to objects in the AztecOO_StatusTest table.  Methods
 * that can be invoked on the underlying objects are listed in CAztecOO_StatusTest.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_AztecOO_StatusTest_ID_t;
#endif /* HAVE_CTRILINOS_AZTECOO */

#ifdef HAVE_CTRILINOS_AZTECOO
/*! Struct used for referring to objects in the AztecOO_StatusTestCombo table.  Methods
 * that can be invoked on the underlying objects are listed in CAztecOO_StatusTestCombo.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_AztecOO_StatusTestCombo_ID_t;
#endif /* HAVE_CTRILINOS_AZTECOO */

#ifdef HAVE_CTRILINOS_AZTECOO
/*! Struct used for referring to objects in the AztecOO_StatusTestMaxIters table.  Methods
 * that can be invoked on the underlying objects are listed in CAztecOO_StatusTestMaxIters.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_AztecOO_StatusTestMaxIters_ID_t;
#endif /* HAVE_CTRILINOS_AZTECOO */

#ifdef HAVE_CTRILINOS_AZTECOO
/*! Struct used for referring to objects in the AztecOO_StatusTestResNorm table.  Methods
 * that can be invoked on the underlying objects are listed in CAztecOO_StatusTestResNorm.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_AztecOO_StatusTestResNorm_ID_t;
#endif /* HAVE_CTRILINOS_AZTECOO */

#ifdef HAVE_CTRILINOS_IFPACK
/*! Struct used for referring to objects in the Ifpack table.  Methods
 * that can be invoked on the underlying objects are listed in CIfpack.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Ifpack_ID_t;
#endif /* HAVE_CTRILINOS_IFPACK */

#ifdef HAVE_CTRILINOS_IFPACK
/*! Struct used for referring to objects in the Ifpack_Preconditioner table.  Methods
 * that can be invoked on the underlying objects are listed in CIfpack_Preconditioner.h */
typedef struct {
    CTrilinos_Table_ID_t table;	/*!< Table holding reference to the object */
    int index;			/*!< Array index of the object */
    boolean is_const;		/*!< Whether or not object was declared const */
} CT_Ifpack_Preconditioner_ID_t;
#endif /* HAVE_CTRILINOS_IFPACK */


#ifdef __cplusplus
} /* extern "C" */
#endif


#endif