Annotation of 43BSD/contrib/B/src/bint/b1tlt.h, revision 1.1.1.1

1.1       root        1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
                      2: 
                      3: /*
                      4:   $Header: b1tlt.h,v 1.4 85/08/22 16:42:12 timo Exp $
                      5: */
                      6: 
                      7: #ifndef INTEGRATION
                      8: 
                      9: /* Private definitions for B texts, lists and tables */
                     10: 
                     11: typedef struct telita {
                     12:     HEADER; btreeptr root;
                     13: } a_telita, *telita;
                     14: 
                     15: #define Itemtype(v) (((telita) (v))->len) /* Itemtype */
                     16: #define Root(v) (((telita) (v))->root)
                     17: #define Tltsize(v) (Root(v) EQ Bnil ? 0 : Size(Root(v)))
                     18: 
                     19: #define Character(v)   ((bool) (Type(v) EQ Tex && Tltsize(v) EQ 1))
                     20: value mkchar();        /* char c */
                     21: 
                     22: #else INTEGRATION
                     23: 
                     24: /************************************************************************/
                     25: /* Private definitions for small texts, lists and tables module         */
                     26: /* A text is modelled as a sequence of len characters.                  */
                     27: /*                                                                      */
                     28: /* A list is modelled as a sequence of len values,                      */
                     29: /*         each of which corresponds to a list entry.                   */
                     30: /*                                                                      */
                     31: /* A table is modelled as a sequence of len values,                     */
                     32: /*         each of which corresponds to a table entry;                  */
                     33: /*     table entries are modelled as a compound with two fields.        */
                     34: /************************************************************************/
                     35: 
                     36: #define Cts(v) (*Ats(v))
                     37: #define Dts(v) (*(Ats(v)+1))
                     38: 
                     39: #define List_elem(l, i) (*(Ats(l)+i)) /*counts from 0; takes no copy*/
                     40: #define Key(t, i) (Ats(*(Ats(t)+i))) /*Ditto*/
                     41: #define Assoc(t, i) (Ats(*(Ats(t)+i))+1) /*Ditto*/
                     42: 
                     43: bool found();
                     44: value list_elem();
                     45: value key_elem();
                     46: 
                     47: #endif INTEGRATION

unix.superglobalmegacorp.com

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