Actual source code: dlregistagger.c

      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: {

     23:   if (VecTaggerPackageInitialized) return(0);
     24:   VecTaggerPackageInitialized = PETSC_TRUE;

     26:   PetscClassIdRegister("Vector Indices Tagger",&VEC_TAGGER_CLASSID);
     27:   VecTaggerRegisterAll();
     28:   PetscRegisterFinalize(VecTaggerFinalizePackage);
     29:   return(0);
     30: }

     32: /*@C
     33:    VecTaggerFinalizePackage - Finalize VecTagger package, it is called from PetscFinalize()

     35:    Logically Collective

     37:    Level: developer

     39: .seealso: VecTaggerInitializePackage()
     40: @*/
     41: PetscErrorCode VecTaggerFinalizePackage(void)
     42: {

     46:   PetscFunctionListDestroy(&VecTaggerList);
     47:   VecTaggerPackageInitialized = PETSC_FALSE;
     48:   VecTaggerRegisterAllCalled  = PETSC_FALSE;
     49:   return(0);
     50: }