20 #define IREP_ID_ONE(id) #id,
21 #define IREP_ID_TWO(id, str) #str,
23 #include "irep_ids.def"
30 enum class idt:unsigned
32 #define IREP_ID_ONE(the_id) id_##the_id,
33 #define IREP_ID_TWO(the_id, str) id_##the_id,
35 #include "irep_ids.def"
38 #define IREP_ID_ONE(the_id) \
39 const dstringt ID_##the_id=dstringt::make_from_table_index( \
40 static_cast<unsigned>(idt::id_##the_id));
41 #define IREP_ID_TWO(the_id, str) \
42 const dstringt ID_##the_id=dstringt::make_from_table_index( \
43 static_cast<unsigned>(idt::id_##the_id));
47 #define IREP_ID_ONE(the_id) const std::string ID_##the_id(#the_id);
48 #define IREP_ID_TWO(the_id, str) const std::string ID_##the_id(#the_id);
52 #include "irep_ids.def"
63 INVARIANT(x==i,
"i-th element is inserted at position i");
unsigned get(const char *s)
unsigned operator[](const char *s)
const char * irep_ids_table[]