summaryrefslogtreecommitdiff
path: root/ext/spl/spl_iterators.h
diff options
context:
space:
mode:
authorSVN Migration <svn@php.net>2006-10-15 21:09:28 +0000
committerSVN Migration <svn@php.net>2006-10-15 21:09:28 +0000
commit88ec761548b66f58acc1a86cdd0fc164ca925476 (patch)
treed0af978fa00d83bb1d82c613f66477fbd6bb18aa /ext/spl/spl_iterators.h
parent268984b4787e797db6054313fc9ba3b9e845306e (diff)
downloadphp-git-PECL_OPENSSL.tar.gz
This commit was manufactured by cvs2svn to create branch 'PECL_OPENSSL'.PECL_OPENSSL
Diffstat (limited to 'ext/spl/spl_iterators.h')
-rwxr-xr-xext/spl/spl_iterators.h165
1 files changed, 0 insertions, 165 deletions
diff --git a/ext/spl/spl_iterators.h b/ext/spl/spl_iterators.h
deleted file mode 100755
index b9432531e2..0000000000
--- a/ext/spl/spl_iterators.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2006 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.01 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_01.txt |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Marcus Boerger <helly@php.net> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#ifndef SPL_ITERATORS_H
-#define SPL_ITERATORS_H
-
-#include "php.h"
-#include "php_spl.h"
-#if HAVE_PCRE || HAVE_BUNDLED_PCRE
-#include "ext/pcre/php_pcre.h"
-#endif
-
-#define spl_ce_Traversable zend_ce_traversable
-#define spl_ce_Iterator zend_ce_iterator
-#define spl_ce_Aggregate zend_ce_aggregate
-#define spl_ce_ArrayAccess zend_ce_arrayaccess
-#define spl_ce_Serializable zend_ce_serializable
-
-extern PHPAPI zend_class_entry *spl_ce_RecursiveIterator;
-extern PHPAPI zend_class_entry *spl_ce_RecursiveIteratorIterator;
-extern PHPAPI zend_class_entry *spl_ce_FilterIterator;
-extern PHPAPI zend_class_entry *spl_ce_RecursiveFilterIterator;
-extern PHPAPI zend_class_entry *spl_ce_ParentIterator;
-extern PHPAPI zend_class_entry *spl_ce_SeekableIterator;
-extern PHPAPI zend_class_entry *spl_ce_LimitIterator;
-extern PHPAPI zend_class_entry *spl_ce_CachingIterator;
-extern PHPAPI zend_class_entry *spl_ce_RecursiveCachingIterator;
-extern PHPAPI zend_class_entry *spl_ce_OuterIterator;
-extern PHPAPI zend_class_entry *spl_ce_IteratorIterator;
-extern PHPAPI zend_class_entry *spl_ce_NoRewindIterator;
-extern PHPAPI zend_class_entry *spl_ce_InfiniteIterator;
-extern PHPAPI zend_class_entry *spl_ce_EmptyIterator;
-extern PHPAPI zend_class_entry *spl_ce_AppendIterator;
-extern PHPAPI zend_class_entry *spl_ce_RegexIterator;
-extern PHPAPI zend_class_entry *spl_ce_RecursiveRegexIterator;
-
-PHP_MINIT_FUNCTION(spl_iterators);
-
-PHP_FUNCTION(iterator_to_array);
-PHP_FUNCTION(iterator_count);
-PHP_FUNCTION(iterator_apply);
-
-typedef enum {
- DIT_Default = 0,
- DIT_FilterIterator = DIT_Default,
- DIT_RecursiveFilterIterator = DIT_Default,
- DIT_ParentIterator = DIT_Default,
- DIT_LimitIterator,
- DIT_CachingIterator,
- DIT_RecursiveCachingIterator,
- DIT_IteratorIterator,
- DIT_NoRewindIterator,
- DIT_InfiniteIterator,
- DIT_AppendIterator,
-#if HAVE_PCRE || HAVE_BUNDLED_PCRE
- DIT_RegexIterator,
- DIT_RecursiveRegexIterator,
-#endif
- DIT_Unknown = ~0
-} dual_it_type;
-
-enum {
- /* public */
- CIT_CALL_TOSTRING = 0x00000001,
- CIT_TOSTRING_USE_KEY = 0x00000002,
- CIT_TOSTRING_USE_CURRENT = 0x00000004,
- CIT_TOSTRING_USE_INNER = 0x00000008,
- CIT_CATCH_GET_CHILD = 0x00000010,
- CIT_FULL_CACHE = 0x00000100,
- CIT_PUBLIC = 0x0000FFFF,
- /* private */
- CIT_VALID = 0x00010000,
- CIT_HAS_CHILDREN = 0x00020000
-};
-
-enum {
- /* public */
- REGIT_USE_KEY = 0x00000001,
-};
-
-typedef enum {
- REGIT_MODE_MATCH,
- REGIT_MODE_GET_MATCH,
- REGIT_MODE_ALL_MATCHES,
- REGIT_MODE_SPLIT,
- REGIT_MODE_REPLACE,
- REGIT_MODE_MAX,
-} regex_mode;
-
-typedef struct _spl_dual_it_object {
- zend_object std;
- struct {
- zval *zobject;
- zend_class_entry *ce;
- zend_object *object;
- zend_object_iterator *iterator;
- } inner;
- struct {
- zval *data;
- char *str_key;
- uint str_key_len;
- ulong int_key;
- int key_type; /* HASH_KEY_IS_STRING or HASH_KEY_IS_LONG */
- int pos;
- } current;
- dual_it_type dit_type;
- union {
- struct {
- long offset;
- long count;
- } limit;
- struct {
- long flags; /* CIT_* */
- zval *zstr;
- zval *zchildren;
- zval *zcache;
- } caching;
- struct {
- zval *zarrayit;
- zend_object_iterator *iterator;
- } append;
-#if HAVE_PCRE || HAVE_BUNDLED_PCRE
- struct {
- int use_flags;
- long flags;
- regex_mode mode;
- long preg_flags;
- pcre_cache_entry *pce;
- char *regex;
- } regex;
-#endif
- } u;
-} spl_dual_it_object;
-
-typedef int (*spl_iterator_apply_func_t)(zend_object_iterator *iter, void *puser TSRMLS_DC);
-
-PHPAPI int spl_iterator_apply(zval *obj, spl_iterator_apply_func_t apply_func, void *puser TSRMLS_DC);
-
-#endif /* SPL_ITERATORS_H */
-
-/*
- * Local Variables:
- * c-basic-offset: 4
- * tab-width: 4
- * End:
- * vim600: fdm=marker
- * vim: noet sw=4 ts=4
- */