xref: /petsc/src/sys/objects/pgname.c (revision 11a5261e40035b7c793f2783a2ba6c7cd4f3b077)
1 
2 #include <petsc/private/petscimpl.h> /*I    "petscsys.h"   I*/
3 
4 /*@C
5    PetscObjectGetName - Gets a string name associated with a PETSc object.
6 
7    Not Collective unless object has not been named yet
8 
9    Input Parameters:
10 +  obj - the Petsc variable
11          Thus must be cast with a (`PetscObject`), for example,
12          `PetscObjectGetName`((`PetscObject`)mat,&name);
13 -  name - the name associated with obj
14 
15    Note:
16     Calls `PetscObjectName()` if a name has not yet been provided to the object.
17 
18    Level: intermediate
19 
20 .seealso: `PetscObjectSetName()`, `PetscObjectName()`
21 @*/
22 PetscErrorCode PetscObjectGetName(PetscObject obj, const char *name[]) {
23   PetscFunctionBegin;
24   PetscValidHeader(obj, 1);
25   PetscValidPointer(name, 2);
26   PetscCall(PetscObjectName(obj));
27   *name = obj->name;
28   PetscFunctionReturn(0);
29 }
30