#define PetscHeaderCreate(h,classid,class_name,descr,mansec,comm,destroy,view) \
(PetscNew(&(h)) || \
PetscHeaderCreate_Private((PetscObject)h,classid,class_name,descr,mansec,comm,(PetscObjectDestroyFunction)destroy,(PetscObjectViewFunction)view) || \
PetscLogObjectCreate(h) || \
PetscLogObjectMemory((PetscObject)h,sizeof(*(h))))
PETSC_EXTERN PetscErrorCode PetscComposedQuantitiesDestroy(PetscObject obj);
PETSC_EXTERN PetscErrorCode PetscHeaderCreate_Private(PetscObject,PetscClassId,const char[],const char[],const char[],MPI_Comm,PetscObjectDestroyFunction,PetscObjectViewFunction);
/*@C
PetscHeaderDestroy - Final step in destroying a PetscObject
Input Parameters:
. h - the header created with PetscHeaderCreate()
.seealso: PetscHeaderCreate()
@*/
#define PetscHeaderDestroy(h) (PetscHeaderDestroy_Private((PetscObject)(*h)) || PetscFree(*h))
PETSC_EXTERN PetscErrorCode PetscHeaderDestroy_Private(PetscObject);
PETSC_EXTERN PetscErrorCode PetscObjectCopyFortranFunctionPointers(PetscObject,PetscObject);
PETSC_EXTERN PetscErrorCode PetscObjectSetFortranCallback(PetscObject,PetscFortranCallbackType,PetscFortranCallbackId*,void(*)(void),void *ctx);
PETSC_EXTERN PetscErrorCode PetscObjectGetFortranCallback(PetscObject,PetscFortranCallbackType,PetscFortranCallbackId,void(**)(void),void **ctx);
PETSC_INTERN PetscErrorCode PetscCitationsInitialize(void);
PETSC_INTERN PetscErrorCode PetscOptionsFindPair_Private(PetscOptions,const char[],const char[],char**,PetscBool*);
PETSC_EXTERN PetscBool PetscCheckPointer(const void*,PetscDataType);
/*
Macros to test if a PETSc object is valid and if pointers are valid
*/
#if !defined(PETSC_USE_DEBUG)
#define PetscValidHeaderSpecific(h,ck,arg) do
| classid | - the classid associated with this object (for example VEC_CLASSID) | |
| class_name | - string name of class; should be static (for example "Vec") | |
| descr | - string containing short description; should be static (for example "Vector") | |
| mansec | - string indicating section in manual pages; should be static (for example "Vec") | |
| comm | - the MPI Communicator | |
| destroy | - the destroy routine for this object (for example VecDestroy()) | |
| view | - the view routine for this object (for example VecView()) |
Level:developer
Location:include/petsc/private/petscimpl.h
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages