i've seen it done in C, sort of:
Code:
int foo, bar, bed, grok;
typedef struct
{
int *pi;
const char *name;
} fooentry_t;
const int numentries = 4;
fooentry_t fooentries[4] = {
{&foo, "foo"},
{&bar, "bar"},
{&bed, "bed"},
{&grok, "grok"}
};
int setfoo (int val, const char *name)
{ // attempts to set foo with name name to val val
int i;
for (i = 0; i < numentries; i++)
{
if (strcmp (name, fooentries[i].name) == 0)
{
*(fooentries[i].pi) = val;
return 0;
}
}
return 1; // fail
}
start with somethng like that