1: #if !defined(GARBAGECOLLECTOR_H)
2: #define GARBAGECOLLECTOR_H
4: #include <petsc/private/hashmapobj.h>
5: #include <petscsys.h>
7: typedef union _PetscGarbage
8: {
9: PetscHMapObj map;
10: void *ptr;
11: } PetscGarbage;
13: PETSC_EXTERN PetscErrorCode PetscObjectDelayedDestroy(PetscObject *);
14: PETSC_EXTERN void PetscGarbageKeySortedIntersect(void *, void *, PetscMPIInt *, MPI_Datatype *);
15: PETSC_EXTERN PetscErrorCode PetscGarbageCleanup(MPI_Comm);
16: PETSC_EXTERN PetscErrorCode PetscGarbageView(MPI_Comm, PetscViewer);
18: PETSC_EXTERN PetscErrorCode GarbageKeyAllReduceIntersect_Private(MPI_Comm, PetscInt64 *, PetscInt *);
20: #endif