#define PetscHeaderCreate(h,tp,pops,cook,t,class_name,com,des,vie) \ (PetscNew(struct tp,&(h)) || \ PetscNew(PetscOps,&((h)->bops)) || \ PetscNew(pops,&((h)->ops)) || \ PetscHeaderCreate_Private((PetscObject)h,cook,t,class_name,com,(PetscObjectFunction)des,(PetscObjectViewerFunction)vie) || \ PetscLogObjectCreate(h)) /*@C PetscHeaderDestroy - Final step in destroying a PetscObject Input Parameters: . h - the header created with PetscHeaderCreate() .seealso: PetscHeaderCreate() @*/ #define PetscHeaderDestroy(h) \ (PetscLogObjectDestroy((PetscObject)(h)) || \ PetscHeaderDestroy_Private((PetscObject)(h)) || \ PetscFree(h)) /* ---------------------------------------------------------------------------------------*/ #if !defined(PETSC_USE_DEBUG) #define PetscValidHeaderSpecific(h,ck,arg) #define PetscValidHeader(h,arg) #define PetscValidPointer(h,arg) #define PetscValidCharPointer(h,arg) #define PetscValidIntPointer(h,arg) #define PetscValidScalarPointer(h,arg) #elif !defined(PETSC_HAVE_CRAY90_POINTER) /* Macros to test if a PETSc object is valid and if pointers are valid */ #define PetscValidHeaderSpecific(h,ck,arg) \
tp | - the data structure type of the object | |
pops | - the data structure type of the objects operations (for example VecOps) | |
cook | - the cookie associated with this object | |
t | - type (no longer should be used) | |
class_name | - string name of class; should be static | |
com | - the MPI Communicator | |
des | - the destroy routine for this object | |
vie | - the view routine for this object |
Level:developer
Location:include/private/petscimpl.h
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages