|
|
BSD 4.3tahoe
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*
$Header: /var/lib/cvsd/repos/CSRG/43BSDTahoe/new/B/src/bint/b1tlt.h,v 1.1.1.1 2018/04/24 16:12:58 root Exp $
*/
#ifndef INTEGRATION
/* Private definitions for B texts, lists and tables */
typedef struct telita {
HEADER; btreeptr root;
} a_telita, *telita;
#define Itemtype(v) (((telita) (v))->len) /* Itemtype */
#define Root(v) (((telita) (v))->root)
#define Tltsize(v) (Root(v) EQ Bnil ? 0 : Size(Root(v)))
#define Character(v) ((bool) (Type(v) EQ Tex && Tltsize(v) EQ 1))
value mkchar(); /* char c */
#else INTEGRATION
/************************************************************************/
/* Private definitions for small texts, lists and tables module */
/* A text is modelled as a sequence of len characters. */
/* */
/* A list is modelled as a sequence of len values, */
/* each of which corresponds to a list entry. */
/* */
/* A table is modelled as a sequence of len values, */
/* each of which corresponds to a table entry; */
/* table entries are modelled as a compound with two fields. */
/************************************************************************/
#define Cts(v) (*Ats(v))
#define Dts(v) (*(Ats(v)+1))
#define List_elem(l, i) (*(Ats(l)+i)) /*counts from 0; takes no copy*/
#define Key(t, i) (Ats(*(Ats(t)+i))) /*Ditto*/
#define Assoc(t, i) (Ats(*(Ats(t)+i))+1) /*Ditto*/
bool found();
value list_elem();
value key_elem();
#endif INTEGRATION
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.