PHP Classes

File: ext/kernel/iterator.c

Recommend this page to a friend!
  Classes of Andrew Collington   iWire PHP Raspberry PI GPIO Class   ext/kernel/iterator.c   Download  
File: ext/kernel/iterator.c
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: iWire PHP Raspberry PI GPIO Class
Control a Raspberry PI board using GPIO
Author: By
Last change:
Date: 4 years ago
Size: 1,848 bytes
 

Contents

Class file image Download
/* +------------------------------------------------------------------------+ | Zephir Language | +------------------------------------------------------------------------+ | Copyright (c) 2011-2015 Zephir Team (http://www.zephir-lang.com) | +------------------------------------------------------------------------+ | This source file is subject to the New BSD License that is bundled | | with this package in the file docs/LICENSE.txt. | | | | If you did not receive a copy of the license and are unable to | | obtain it through the world-wide-web, please send an email | | to license@zephir-lang.com so we can send you a copy immediately. | +------------------------------------------------------------------------+ | Authors: Andres Gutierrez <andres@zephir-lang.com> | | Eduar Carvajal <eduar@zephir-lang.com> | | Vladimir Kolesnikov <vladimir@extrememember.com> | +------------------------------------------------------------------------+ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "php.h" #include "php_ext.h" #include "kernel/main.h" #include "kernel/memory.h" /** * Returns an iterator from the object */ zend_object_iterator *zephir_get_iterator(zval *iterator TSRMLS_DC) { zend_class_entry *ce; zend_object_iterator *it; if (Z_TYPE_P(iterator) != IS_OBJECT) { return NULL; } ce = Z_OBJCE_P(iterator); it = ce->get_iterator(ce, iterator, 0 TSRMLS_CC); if (!it || EG(exception)) { return NULL; } if (it->funcs->get_current_key == NULL) { return NULL; } if (it->funcs->rewind == NULL) { return NULL; } return it; }