REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.91 KB
Close
/opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/nette/utils/src/Iterators/CachingIterator.php
Text
Base64
<?php /** * This file is part of the Nette Framework (https://nette.org) * Copyright (c) 2004 David Grudl (https://davidgrudl.com) */ declare (strict_types=1); namespace RectorPrefix202411\Nette\Iterators; use RectorPrefix202411\Nette; /** * Smarter caching iterator. * * @property-read bool $first * @property-read bool $last * @property-read bool $empty * @property-read bool $odd * @property-read bool $even * @property-read int $counter * @property-read mixed $nextKey * @property-read mixed $nextValue */ class CachingIterator extends \CachingIterator implements \Countable { use Nette\SmartObject; /** * @var int */ private $counter = 0; /** * @param iterable|\stdClass $iterable */ public function __construct($iterable) { $iterable = $iterable instanceof \stdClass ? new \ArrayIterator($iterable) : Nette\Utils\Iterables::toIterator($iterable); parent::__construct($iterable, 0); } /** * Is the current element the first one? */ public function isFirst(?int $gridWidth = null) : bool { return $this->counter === 1 || $gridWidth && $this->counter !== 0 && ($this->counter - 1) % $gridWidth === 0; } /** * Is the current element the last one? */ public function isLast(?int $gridWidth = null) : bool { return !$this->hasNext() || $gridWidth && $this->counter % $gridWidth === 0; } /** * Is the iterator empty? */ public function isEmpty() : bool { return $this->counter === 0; } /** * Is the counter odd? */ public function isOdd() : bool { return $this->counter % 2 === 1; } /** * Is the counter even? */ public function isEven() : bool { return $this->counter % 2 === 0; } /** * Returns the counter. */ public function getCounter() : int { return $this->counter; } /** * Returns the count of elements. */ public function count() : int { $inner = $this->getInnerIterator(); if ($inner instanceof \Countable) { return $inner->count(); } else { throw new Nette\NotSupportedException('Iterator is not countable.'); } } /** * Forwards to the next element. */ public function next() : void { parent::next(); if (parent::valid()) { $this->counter++; } } /** * Rewinds the Iterator. */ public function rewind() : void { parent::rewind(); $this->counter = parent::valid() ? 1 : 0; } /** * Returns the next key. * @return mixed */ public function getNextKey() { return $this->getInnerIterator()->key(); } /** * Returns the next element. * @return mixed */ public function getNextValue() { return $this->getInnerIterator()->current(); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 2
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
CachingIterator.php
2.91 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Mapper.php
670 B
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).