xref: /ext-ds/src/php/classes/php_set_ce.h (revision 07801172)
1 #ifndef DS_SET_CE_H
2 #define DS_SET_CE_H
3 
4 #include "php.h"
5 #include "../../common.h"
6 #include "../arginfo.h"
7 
8 extern zend_class_entry *php_ds_set_ce;
9 
10 ARGINFO_OPTIONAL_ZVAL(                      Set___construct, values);
11 ARGINFO_OPTIONAL_STRING(                    Set_join, glue);
12 ARGINFO_LONG(                               Set_allocate, capacity);
13 ARGINFO_NONE_RETURN_LONG(                   Set_capacity);
14 ARGINFO_VARIADIC_ZVAL(                      Set_add, values);
15 ARGINFO_VARIADIC_ZVAL(                      Set_remove, values);
16 ARGINFO_LONG(                               Set_get, index);
17 ARGINFO_VARIADIC_ZVAL_RETURN_BOOL(          Set_contains, values);
18 ARGINFO_DS_RETURN_DS(                       Set_diff, set, Set, Set);
19 ARGINFO_DS_RETURN_DS(                       Set_intersect, set, Set, Set);
20 ARGINFO_DS_RETURN_DS(                       Set_xor, set, Set, Set);
21 ARGINFO_NONE(                               Set_first);
22 ARGINFO_NONE(                               Set_last);
23 ARGINFO_ZVAL_RETURN_DS(                     Set_merge, values, Set);
24 ARGINFO_DS_RETURN_DS(                       Set_union, set, Set, Set);
25 ARGINFO_OPTIONAL_CALLABLE(                  Set_sort, comparator);
26 ARGINFO_OPTIONAL_CALLABLE_RETURN_DS(        Set_sorted, comparator, Set);
27 ARGINFO_CALLABLE_OPTIONAL_ZVAL(             Set_reduce, callback, initial);
28 ARGINFO_LONG_OPTIONAL_LONG_RETURN_DS(       Set_slice, index, length, Set);
29 ARGINFO_OPTIONAL_CALLABLE_RETURN_DS(        Set_filter, predicate, Set);
30 ARGINFO_CALLABLE_RETURN_DS(                 Set_map, callback, Set);
31 ARGINFO_NONE(                               Set_reverse);
32 ARGINFO_NONE_RETURN_DS(                     Set_reversed, Set);
33 ARGINFO_NONE(                               Set_sum);
34 ARGINFO_NONE_RETURN_OBJ(                    Set_getIterator, Traversable);
35 
36 ARGINFO_ZVAL_RETURN_BOOL(                   Set_offsetExists, offset);
37 ARGINFO_OFFSET_GET( 	                    Set_offsetGet);
38 ARGINFO_OFFSET_SET(                         Set_offsetSet);
39 ARGINFO_OFFSET_UNSET(                       Set_offsetUnset);
40 
41 void php_ds_register_set();
42 
43 #endif
44