Actual source code: gcookie.c
2: /*
3: Provides utility routines for manulating any type of PETSc object.
4: */
5: #include <petsc/private/petscimpl.h>
7: /*@
8: PetscObjectGetClassId - Gets the classid for any `PetscObject`
10: Not Collective
12: Input Parameter:
13: . obj - any PETSc object, for example a `Vec`, `Mat` or `KSP`.
14: Thus must be cast with a (`PetscObject`), for example,
15: `PetscObjectGetClassId`((`PetscObject`)mat,&classid);
17: Output Parameter:
18: . classid - the classid
20: Level: developer
22: .seealso: `PetscObject`, `PetscClassId`, `PetscObjectGetClassName()`, `PetscObjectGetType()`
23: @*/
24: PetscErrorCode PetscObjectGetClassId(PetscObject obj, PetscClassId *classid)
25: {
26: PetscFunctionBegin;
29: *classid = obj->classid;
30: PetscFunctionReturn(PETSC_SUCCESS);
31: }
33: /*@C
34: PetscObjectGetClassName - Gets the class name for any `PetscObject`
36: Not Collective
38: Input Parameter:
39: . obj - any PETSc object, for example a `Vec`, `Mat` or `KSP`.
40: Thus must be cast with a (`PetscObject`), for example,
41: `PetscObjectGetClassName`((`PetscObject`)mat,&classname);
43: Output Parameter:
44: . classname - the class name, for example "Vec"
46: Level: developer
48: .seealso: `PetscObject`, `PetscClassId`, `PetscObjectGetType()`, `PetscObjectGetClassId()`
49: @*/
50: PetscErrorCode PetscObjectGetClassName(PetscObject obj, const char *classname[])
51: {
52: PetscFunctionBegin;
55: *classname = obj->class_name;
56: PetscFunctionReturn(PETSC_SUCCESS);
57: }