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