u16.c File Reference

#include <stdlib.h>
#include "memory.h"
#include "nmd.h"

Include dependency graph for u16.c:

Go to the source code of this file.

Functions

int main (int argc, char **argv)


Function Documentation

int main ( int  argc,
char **  argv 
)

Object cloning and reporting in the presence of place holder empty components

Definition at line 7 of file u16.c.

References NMD_FREE, NMDCloneObject(), NMDCreateObject(), NMDDestroyObject(), NMDFalse, NMDInt, NMDObjectEnsureCategoryComponent(), NMDReal, NMDReportObject(), and NMDSetValue().

00007                                {
00008   NMD_metadata nmd,nmd2; NMDErrorCode ierr; 
00009   int i=5;
00010   PetscFunctionBegin;
00011   PetscInitialize(&argc,&argv,0,0);
00012 
00013   ierr = NMDCreateObject(&nmd); NMD_ERR_RETURN(ierr);
00014   ierr = NMDCreateObject(&nmd2); NMD_ERR_RETURN(ierr);
00015 
00016   ierr = NMDSetValue(nmd,"cat1","cmp1",NMDInt,&i); NMD_ERR_RETURN(ierr);
00017   ierr = NMDObjectEnsureCategoryComponent
00018     (nmd,"cat1","cmp2",NMDReal,NULL); NMD_ERR_RETURN(ierr);
00019 
00020   ierr = NMDCloneObject(nmd,nmd2); NMD_ERR_RETURN(ierr);
00021   {
00022     char *s1,*s2;
00023     /* report the original object */
00024     ierr = NMDReportObject(nmd,NMDFalse,&s1,&s2,'\n',NULL,NULL); NMD_ERR_RETURN(ierr);
00025     printf("original keys:\n%s\nvalues:\n%s\n",s1,s2);
00026     NMD_FREE(s1);
00027     NMD_FREE(s2);
00028     /* report the clone */
00029     ierr = NMDReportObject(nmd2,NMDFalse,&s1,&s2,'\n',NULL,NULL); NMD_ERR_RETURN(ierr);
00030     printf("clone keys:\n%s\nvalues:\n%s\n",s1,s2);
00031     NMD_FREE(s1);
00032     NMD_FREE(s2);
00033   }
00034 
00035   ierr = NMDDestroyObject(nmd); NMD_ERR_RETURN(ierr);
00036   ierr = NMDDestroyObject(nmd2); NMD_ERR_RETURN(ierr);
00037 
00038   PetscFinalize();
00039   PetscFunctionReturn(0);
00040 }

Here is the call graph for this function:


Generated on Sun Oct 4 03:59:31 2009 for NMD by  doxygen 1.5.9