www.pudn.com > ANSI_C_OOP.rar > List.d
// new(List, minimal-dimension)
% ListClass: Class List: Object {
const void ** buf; // const void * buf [dim]
unsigned dim; // current buffer dimension
unsigned count; // # elements in buffer
unsigned begin; // index of takeFirst slot, 0..dim
unsigned end; // index of addLast slot, 0..dim
%
Object @ addFirst (_self, const Object @ element);
Object @ addLast (_self, const Object @ element);
unsigned count (const _self);
Object @ lookAt (const _self, unsigned n);
Object @ takeFirst (_self);
Object @ takeLast (_self);
%- // abstract, for Queue/Stack
Object @ add (_self, const Object @ element);
Object @ take (_self);
%}