sample1d.c
00001
00002
00003
00004
00005 #include <stdio.h>
00006
00007 #define data_begin enum MyEnum {
00008 #define data_mbr( e, v, s ) e,
00009 #define data_end };
00010 #include "sample1d.temp.h"
00011
00012 #undef data_begin
00013 #undef data_mbr
00014 #undef data_end
00015 #define data_begin const char *szzMyEnum[] = {
00016 #define data_mbr( e, v, s ) #e,
00017 #define data_end };
00018 #include "sample1d.temp.h"
00019
00020 struct MyData
00021 {
00022 int value;
00023 const char *myStr;
00024 };
00025 #undef data_begin
00026 #undef data_mbr
00027 #undef data_end
00028 #define data_begin const struct MyData myDataList[] = {
00029 #define data_mbr( e, v, s ) { v, s },
00030 #define data_end };
00031 #include "sample1d.temp.h"
00032
00033 void
00034 MyDataPrint (enum MyEnum e)
00035 {
00036 const struct MyData *found = myDataList + e;
00037 printf ("%d - %s\n", found->value, found->myStr);
00038 }
00039
00040 int
00041 main (void)
00042 {
00043 #undef data_begin
00044 #undef data_mbr
00045 #undef data_end
00046 #define data_begin
00047 #define data_mbr( e, v, s ) MyDataPrint (e);
00048 #define data_end
00049 #include "sample1d.temp.h"
00050 return 0;
00051 }