1 /*
2    +----------------------------------------------------------------------+
3    | This source file is subject to version 3.01 of the PHP license,      |
4    | that is bundled with this package in the file LICENSE, and is        |
5    | available through the world-wide-web at the following url:           |
6    | https://www.php.net/license/3_01.txt                                 |
7    | If you did not receive a copy of the PHP license and are unable to   |
8    | obtain it through the world-wide-web, please send a note to          |
9    | license@php.net so we can mail you a copy immediately.               |
10    +----------------------------------------------------------------------+
11    | Authors: Gustavo Lopes <cataphract@php.net>                          |
12    +----------------------------------------------------------------------+
13 */
14 #ifndef INTL_BREAKITERATOR_ITERATORS_H
15 #define INTL_BREAKITERATOR_ITERATORS_H
16 
17 #include <unicode/umachine.h>
18 
19 U_CDECL_BEGIN
20 #include <math.h>
21 #include <php.h>
22 U_CDECL_END
23 
24 typedef enum {
25 	PARTS_ITERATOR_KEY_SEQUENTIAL,
26 	PARTS_ITERATOR_KEY_LEFT,
27 	PARTS_ITERATOR_KEY_RIGHT,
28 } parts_iter_key_type;
29 
30 #ifdef __cplusplus
31 void IntlIterator_from_BreakIterator_parts(zval *break_iter_zv,
32 										   zval *object,
33 										   parts_iter_key_type key_type);
34 #endif
35 
36 U_CFUNC zend_object_iterator *_breakiterator_get_iterator(
37 		zend_class_entry *ce, zval *object, int by_ref);
38 U_CFUNC void breakiterator_register_IntlPartsIterator_class(void);
39 
40 #endif
41