Annotation of researchv10no/cmd/cfront/libstring/generic.h, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: #define GENERICH 1
                      4: #ifdef BSD
                      5: #define name2(a,b) a\
                      6: b
                      7: #define name3(a,b,c) a\
                      8: b\
                      9: c
                     10: #define name4(a,b,c,d) a\
                     11: b\
                     12: c\
                     13: d
                     14: #else
                     15: #define name2(a,b)     a/**/b
                     16: #define name3(a,b,c)   a/**/b/**/c
                     17: #define name4(a,b,c,d) a/**/b/**/c/**/d
                     18: #endif
                     19: 
                     20: #define declare(a,t) name2(a,declare)(t)
                     21: #define implement(a,t) name2(a,implement)(t)
                     22: #define declare2(a,t1,t2) name2(a,declare2)(t1,t2)
                     23: #define implement2(a,t1,t2) name2(a,implement2)(t1,t2)
                     24: 
                     25: 
                     26: extern genericerror(int,char*);
                     27: typedef int (*GPT)(int,char*);
                     28: #define set_handler(generic,type,x) name4(set_,type,generic,_handler)(x)
                     29: #define errorhandler(generic,type) name3(type,generic,handler)
                     30: #define callerror(generic,type,a,b) (*errorhandler(generic,type))(a,b)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.