1 #ifndef PHP_DS_SEQUENCE_CE_H 2 #define PHP_DS_SEQUENCE_CE_H 3 4 #include "php.h" 5 6 extern zend_class_entry *sequence_ce; 7 8 #define PHP_DS_SEQUENCE_ME(cls, name) \ 9 PHP_ME(cls, name, arginfo_Sequence_##name, ZEND_ACC_PUBLIC) 10 11 #define PHP_DS_SEQUENCE_ME_LIST(cls) \ 12 PHP_DS_SEQUENCE_ME(cls, allocate) \ 13 PHP_DS_SEQUENCE_ME(cls, apply) \ 14 PHP_DS_SEQUENCE_ME(cls, capacity) \ 15 PHP_DS_SEQUENCE_ME(cls, contains) \ 16 PHP_DS_SEQUENCE_ME(cls, filter) \ 17 PHP_DS_SEQUENCE_ME(cls, find) \ 18 PHP_DS_SEQUENCE_ME(cls, first) \ 19 PHP_DS_SEQUENCE_ME(cls, get) \ 20 PHP_DS_SEQUENCE_ME(cls, insert) \ 21 PHP_DS_SEQUENCE_ME(cls, join) \ 22 PHP_DS_SEQUENCE_ME(cls, last) \ 23 PHP_DS_SEQUENCE_ME(cls, map) \ 24 PHP_DS_SEQUENCE_ME(cls, merge) \ 25 PHP_DS_SEQUENCE_ME(cls, offsetExists) \ 26 PHP_DS_SEQUENCE_ME(cls, offsetGet) \ 27 PHP_DS_SEQUENCE_ME(cls, offsetSet) \ 28 PHP_DS_SEQUENCE_ME(cls, offsetUnset) \ 29 PHP_DS_SEQUENCE_ME(cls, pop) \ 30 PHP_DS_SEQUENCE_ME(cls, push) \ 31 PHP_DS_SEQUENCE_ME(cls, reduce) \ 32 PHP_DS_SEQUENCE_ME(cls, remove) \ 33 PHP_DS_SEQUENCE_ME(cls, reverse) \ 34 PHP_DS_SEQUENCE_ME(cls, reversed) \ 35 PHP_DS_SEQUENCE_ME(cls, rotate) \ 36 PHP_DS_SEQUENCE_ME(cls, set) \ 37 PHP_DS_SEQUENCE_ME(cls, shift) \ 38 PHP_DS_SEQUENCE_ME(cls, slice) \ 39 PHP_DS_SEQUENCE_ME(cls, sort) \ 40 PHP_DS_SEQUENCE_ME(cls, sorted) \ 41 PHP_DS_SEQUENCE_ME(cls, sum) \ 42 PHP_DS_SEQUENCE_ME(cls, unshift) \ 43 44 ARGINFO_LONG( Sequence_allocate, capacity); 45 ARGINFO_CALLABLE( Sequence_apply, callback); 46 ARGINFO_NONE_RETURN_LONG( Sequence_capacity); 47 ARGINFO_VARIADIC_ZVAL_RETURN_BOOL( Sequence_contains, values); 48 ARGINFO_OPTIONAL_CALLABLE_RETURN_DS( Sequence_filter, callback, Sequence); 49 ARGINFO_ZVAL( Sequence_find, value); 50 ARGINFO_NONE( Sequence_first); 51 ARGINFO_OPTIONAL_STRING_RETURN_STRING( Sequence_join, glue); 52 ARGINFO_LONG( Sequence_get, index); 53 ARGINFO_LONG_VARIADIC_ZVAL( Sequence_insert, index, values); 54 ARGINFO_NONE( Sequence_last); 55 ARGINFO_CALLABLE_RETURN_DS( Sequence_map, callback, Sequence); 56 ARGINFO_ZVAL_RETURN_DS( Sequence_merge, values, Sequence); 57 ARGINFO_ZVAL_RETURN_BOOL( Sequence_offsetExists, offset); 58 ARGINFO_OFFSET_GET( Sequence_offsetGet); 59 ARGINFO_OFFSET_SET( Sequence_offsetSet); 60 ARGINFO_OFFSET_UNSET( Sequence_offsetUnset); 61 ARGINFO_NONE( Sequence_pop); 62 ARGINFO_VARIADIC_ZVAL( Sequence_push, values); 63 ARGINFO_CALLABLE_OPTIONAL_ZVAL( Sequence_reduce, callback, initial); 64 ARGINFO_LONG( Sequence_remove, index); 65 ARGINFO_NONE( Sequence_reverse); 66 ARGINFO_NONE_RETURN_DS( Sequence_reversed, Sequence); 67 ARGINFO_LONG( Sequence_rotate, rotations); 68 ARGINFO_LONG_ZVAL( Sequence_set, index, value); 69 ARGINFO_NONE( Sequence_shift); 70 ARGINFO_LONG_OPTIONAL_LONG_RETURN_DS( Sequence_slice, index, length, Sequence); 71 ARGINFO_OPTIONAL_CALLABLE( Sequence_sort, comparator); 72 ARGINFO_OPTIONAL_CALLABLE_RETURN_DS( Sequence_sorted, comparator, Sequence); 73 ARGINFO_NONE( Sequence_sum); 74 ARGINFO_VARIADIC_ZVAL( Sequence_unshift, values); 75 76 void php_ds_register_sequence(); 77 78 #endif 79