2 //metadoc List copyright Steve Dekorte 2002
3 //metadoc List license BSD revised
6 #define IOLIST_DEFINED 1
18 #define ISLIST(self) \
19 IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoList_rawClone)
21 typedef IoObject IoList
;
23 IOVM_API IoList
*IoList_proto(void *state
);
24 IOVM_API IoList
*IoList_rawClone(IoList
*self
);
25 IOVM_API IoList
*IoList_new(void *state
);
26 IOVM_API IoList
*IoList_newWithList_(void *state
, List
*list
);
27 IOVM_API
void IoList_free(IoList
*self
);
28 IOVM_API
void IoList_mark(IoList
*self
);
29 IOVM_API
int IoList_compare(IoList
*self
, IoList
*otherList
);
31 IOVM_API
void IoList_writeToStream_(IoList
*self
, BStream
*stream
);
32 IOVM_API
void IoList_readFromStream_(IoList
*self
, BStream
*stream
);
34 IOVM_API List
*IoList_rawList(IoList
*self
);
35 IOVM_API IoObject
*IoList_rawAt_(IoList
*self
, int i
);
36 IOVM_API
void IoList_rawAt_put_(IoList
*self
, int i
, IoObject
*v
);
37 IOVM_API
void IoList_rawAppend_(IoList
*self
, IoObject
*v
);
38 IOVM_API
void IoList_rawRemove_(IoList
*self
, IoObject
*v
);
39 IOVM_API
void IoList_rawAddIoList_(IoList
*self
, IoList
*other
);
40 IOVM_API
void IoList_rawAddBaseList_(IoList
*self
, List
*other
);
41 IOVM_API
size_t IoList_rawSize(IoList
*self
);
45 IOVM_API IoObject
*IoList_with(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
46 IOVM_API IoObject
*IoList_indexOf(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
47 IOVM_API IoObject
*IoList_contains(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
48 IOVM_API IoObject
*IoList_containsIdenticalTo(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
49 IOVM_API IoObject
*IoList_capacity(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
50 IOVM_API IoObject
*IoList_size(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
51 IOVM_API IoObject
*IoList_at(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
52 IOVM_API IoObject
*IoList_first(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
53 IOVM_API IoObject
*IoList_last(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
55 IOVM_API IoObject
*IoList_slice(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
56 IOVM_API IoObject
*IoList_sliceInPlace(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
58 IOVM_API IoObject
*IoList_mapInPlace(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
59 IOVM_API IoObject
*IoList_map(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
61 IOVM_API IoObject
*IoList_select(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
62 IOVM_API IoObject
*IoList_detect(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
64 IOVM_API IoObject
*IoList_foreach(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
65 IOVM_API IoObject
*IoList_reverseForeach(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
69 IOVM_API IoObject
*IoList_preallocateToSize(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
70 IOVM_API IoObject
*IoList_append(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
71 IOVM_API IoObject
*IoList_prepend(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
72 IOVM_API IoObject
*IoList_appendIfAbsent(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
73 IOVM_API IoObject
*IoList_appendSeq(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
74 IOVM_API IoObject
*IoList_remove(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
75 IOVM_API IoObject
*IoList_push(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
76 IOVM_API IoObject
*IoList_pop(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
78 IoObject
*IoList_setSize(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
79 IOVM_API IoObject
*IoList_removeAll(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
80 IOVM_API IoObject
*IoList_atInsert(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
81 IOVM_API IoObject
*IoList_removeAt(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
82 IOVM_API IoObject
*IoList_atPut(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
83 IOVM_API IoObject
*IoList_removeAll(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
84 IOVM_API IoObject
*IoList_swapIndices(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
85 IOVM_API IoObject
*IoList_reverse(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
86 IOVM_API IoObject
*IoList_sortInPlace(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
87 IOVM_API IoObject
*IoList_sortInPlaceBy(IoList
*self
, IoObject
*locals
, IoMessage
*m
);
88 IOVM_API IoObject
*IoList_selectInPlace(IoList
*self
, IoObject
*locals
, IoMessage
*m
);\