petsc-3.14.6 2021-03-30
PetscObjectListRemoveReference
Calls PetscObjectDereference() on an object in the list immediately but keeps a pointer to the object in the list.
Synopsis
PetscErrorCode PetscObjectListRemoveReference(PetscObjectList *fl,const char name[])
Input Parameters
| fl | - the object list
|
| name | - the name to use for the object
|
Notes
Use PetscObjectListAdd(PetscObjectList,const char name[],NULL) to truly remove the object from the list
Use this routine ONLY if you know that the object referenced will remain in existence until the pointing object is destroyed
Developer Note: this is to handle some cases that otherwise would result in having circular references so reference counts never got to zero
See Also
PetscObjectListDestroy(), PetscObjectListFind(), PetscObjectListDuplicate(), PetscObjectListReverseFind(), PetscObjectListDuplicate(), PetscObjectListAdd()
Level
developer
Location
src/sys/objects/olist.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages