1/* struct::set - critcl - layer 0 declarations
2 * Tcl_ObjType 'set'.
3 */
4
5#ifndef _S_H
6#define _S_H 1
7
8#include "tcl.h"
9#include "ds.h"
10
11int      s_get (Tcl_Interp* interp, Tcl_Obj* o, SPtr* sStar);
12Tcl_Obj* s_new (SPtr s);
13
14Tcl_ObjType* s_stype (void);
15Tcl_ObjType* s_ltype (void);
16
17void s_add        (SPtr a, SPtr b, int* newPtr);
18void s_add1       (SPtr a, const char* item);
19int  s_contains   (SPtr a, const char* item);
20SPtr s_difference (SPtr a, SPtr b);
21SPtr s_dup        (SPtr a); /* a == NULL allowed */
22int  s_empty      (SPtr a);
23int  s_equal      (SPtr a, SPtr b);
24void s_free       (SPtr a);
25SPtr s_intersect  (SPtr a, SPtr b);
26int  s_size       (SPtr a);
27int  s_subsetof   (SPtr a, SPtr b);
28void s_subtract   (SPtr a, SPtr b, int* delPtr);
29void s_subtract1  (SPtr a, const char* item);
30SPtr s_union      (SPtr a, SPtr b);
31
32#endif /* _S_H */
33
34/*
35 * Local Variables:
36 * mode: c
37 * c-basic-offset: 4
38 * fill-column: 78
39 * End:
40 */
41