#pragma once

/* SUBMANSEC = Tao */

/*S
   Tao - Abstract PETSc object that manages optimization solvers.

   Level: advanced

   Note:
   `Tao` is the object, while TAO, which stands for Toolkit for Advanced Optimization, is the software package.

.seealso: [](doc_taosolve), [](ch_tao), `TaoCreate()`, `TaoDestroy()`, `TaoSetType()`, `TaoType`
S*/
typedef struct _p_Tao *Tao;
