43#include "EST_TNamedEnum.h"
46# define __STRINGIZE(X) #X
47# define DATA __STRINGIZE(DATAC)
67typedef enum { c_red=1, c_blue=2, c_green=3, c_unknown=666} Colour;
84Start_TNamedEnum(Colour, ColourMap)
86 { c_unknown, {
"kinda brownish"}},
87 { c_red, {
"red",
"scarlet"}},
88 { c_blue, {
"blue",
"navy",
"sad"}},
91End_TNamedEnum(Colour, ColourMap)
99 { c_unknown, {
"no conocido"}},
100 { c_red, {
"rojo",
"escarlata",
"sangre"}},
101 { c_blue, {
"azul",
"piscina",
"mar",
"cielo"}},
121Start_TNamedEnumI(Colour,
colour_info, RGBColourMap)
123 { c_unknown, {
"kinda grey"}, {0x7f, 0x7f, 0x7f}},
124 { c_red, {
"red",
"scarlet"}, {0xff, 0, 0}},
125 { c_blue, {
"blue",
"navy",
"sad"}, {0, 0, 0xff}},
140 n = ColourMap.name(c1);
141 cout <<
"c1 is " << (n?n:
"[NULL]") <<
"\n";
143 n = ColourMap.name(c2);
144 cout <<
"c2 is " << (n?n:
"[NULL]") <<
"\n";
148 const char *
colours[] = {
"red",
"navy",
"puce"};
149 for(
int i=0; i<3; i++)
156 Colour c = ColourMap.token(
nm);
160 cout <<
nm <<
" is " << (int)c
161 <<
" = " << ColourMap.name(c)
165 << info.green <<
", "
177 if (ColourMap.save(
"tmp/colour.map") != write_ok)
178 cout <<
"\n\nname map write failed\n";
181 cout <<
"\n\ncolour name map\n";
183 system(
"cat tmp/colour.map");
198 cout <<
"\n\nname map write failed\n";
201 cout <<
"\n\ncolour name map (spanish)\n";
203 system(
"cat tmp/colour_spanish.map");
212 cout <<
"\n\nname map read failed\n";
215 cout <<
"\n\nread in table\n";
218 system(
"cat tmp/tmp.map");
224 cout <<
"\n\nname map read failed\n";
227 cout <<
"\n\nread in table (translation)\n";
231 system(
"cat tmp/tmp.map");
245Declare_TNamedEnum(Colour)
247#if defined(INSTANTIATE_TEMPLATES)
248#include "../base_class/EST_TNamedEnum.cc"
251Instantiate_TNamedEnum(Colour)