Skip to main content
`Ctrl`+`K`

# PetscObjectRegisterDestroy

Registers a PETSc object to be destroyed when `PetscFinalize()` is called.

## Synopsis

    #include "petscsys.h"
    PetscErrorCode PetscObjectRegisterDestroy(PetscObject obj)

Logically Collective

## Input Parameter

- obj - a PETSc object, for example a `Vec`, `Mat` or `KSP`. It must be cast with a (`PetscObject`), for example, `PetscObjectRegisterDestroy`((`PetscObject`)mat);

## Notes

This is used by, for example, `PETSC_VIEWER_XXX_()` routines to free the viewer when PETSc ends.

This should be used only where there is no natural location in the code to put a call to the destructor of the object.

## See Also

`PetscObjectRegisterDestroyAll()`

## Level

developer

## Location

src/sys/objects/destroy.c

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages