1: #include <petsc/private/vecimpl.h>
3: PetscClassId VEC_TAGGER_CLASSID;
5: static PetscBool VecTaggerPackageInitialized = PETSC_FALSE;
7: PetscBool VecTaggerRegisterAllCalled;
9: /*@C
10: VecTaggerInitializePackage - Initialize VecTagger package
12: Logically Collective
14: Level: developer
16: .seealso: `VecTaggerFinalizePackage()`
17: @*/
18: PetscErrorCode VecTaggerInitializePackage(void)
19: {
20: if (VecTaggerPackageInitialized) return 0;
21: VecTaggerPackageInitialized = PETSC_TRUE;
23: PetscClassIdRegister("Vector Indices Tagger", &VEC_TAGGER_CLASSID);
24: VecTaggerRegisterAll();
25: PetscRegisterFinalize(VecTaggerFinalizePackage);
26: return 0;
27: }
29: /*@C
30: VecTaggerFinalizePackage - Finalize VecTagger package, it is called from PetscFinalize()
32: Logically Collective
34: Level: developer
36: .seealso: `VecTaggerInitializePackage()`
37: @*/
38: PetscErrorCode VecTaggerFinalizePackage(void)
39: {
40: PetscFunctionListDestroy(&VecTaggerList);
41: VecTaggerPackageInitialized = PETSC_FALSE;
42: VecTaggerRegisterAllCalled = PETSC_FALSE;
43: return 0;
44: }