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 
11 int      s_get (Tcl_Interp* interp, Tcl_Obj* o, SPtr* sStar);
12 Tcl_Obj* s_new (SPtr s);
13 
14 Tcl_ObjType* s_stype (void);
15 Tcl_ObjType* s_ltype (void);
16 
17 void s_add        (SPtr a, SPtr b, int* newPtr);
18 void s_add1       (SPtr a, const char* item);
19 int  s_contains   (SPtr a, const char* item);
20 SPtr s_difference (SPtr a, SPtr b);
21 SPtr s_dup        (SPtr a); /* a == NULL allowed */
22 int  s_empty      (SPtr a);
23 int  s_equal      (SPtr a, SPtr b);
24 void s_free       (SPtr a);
25 SPtr s_intersect  (SPtr a, SPtr b);
26 int  s_size       (SPtr a);
27 int  s_subsetof   (SPtr a, SPtr b);
28 void s_subtract   (SPtr a, SPtr b, int* delPtr);
29 void s_subtract1  (SPtr a, const char* item);
30 SPtr 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