annotate vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 1fec387a4317
children
rev   line source
Chris@14 1 <?php
Chris@14 2 /*
Chris@14 3 * This file is part of PharIo\Manifest.
Chris@14 4 *
Chris@14 5 * (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de>
Chris@14 6 *
Chris@14 7 * For the full copyright and license information, please view the LICENSE
Chris@14 8 * file that was distributed with this source code.
Chris@14 9 */
Chris@14 10
Chris@14 11 namespace PharIo\Manifest;
Chris@14 12
Chris@14 13 class AuthorCollectionIterator implements \Iterator {
Chris@14 14 /**
Chris@14 15 * @var Author[]
Chris@14 16 */
Chris@14 17 private $authors = [];
Chris@14 18
Chris@14 19 /**
Chris@14 20 * @var int
Chris@14 21 */
Chris@14 22 private $position;
Chris@14 23
Chris@14 24 public function __construct(AuthorCollection $authors) {
Chris@14 25 $this->authors = $authors->getAuthors();
Chris@14 26 }
Chris@14 27
Chris@14 28 public function rewind() {
Chris@14 29 $this->position = 0;
Chris@14 30 }
Chris@14 31
Chris@14 32 /**
Chris@14 33 * @return bool
Chris@14 34 */
Chris@14 35 public function valid() {
Chris@14 36 return $this->position < count($this->authors);
Chris@14 37 }
Chris@14 38
Chris@14 39 /**
Chris@14 40 * @return int
Chris@14 41 */
Chris@14 42 public function key() {
Chris@14 43 return $this->position;
Chris@14 44 }
Chris@14 45
Chris@14 46 /**
Chris@14 47 * @return Author
Chris@14 48 */
Chris@14 49 public function current() {
Chris@14 50 return $this->authors[$this->position];
Chris@14 51 }
Chris@14 52
Chris@14 53 public function next() {
Chris@14 54 $this->position++;
Chris@14 55 }
Chris@14 56 }