<?php declare(strict_types = 1);
namespace TheSeer\Tokenizer;

use ArrayAccess;
use ArrayIterator;
use Countable;
use Iterator;
use IteratorAggregate;
use function count;
use function get_class;
use function gettype;
use function is_int;
use function sprintf;

/**
 * @implements IteratorAggregate<int, Token>
 */
class TokenCollection implements IteratorAggregate, ArrayAccess, Countable {
    /** @var Token[] */
    private $tokens = [];

    public function addToken(Token $token): void {
        $this->tokens[] = $token;
    }

    public function {
  "name": "theseer/tokenizer",
  "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
  "license": "BSD-3-Clause",
  "authors": [
    {
      "name": "Arne Blankerts",
      "email": "arne@blankerts.de",
      "role": "Developer"
    }
  ],
  "support": {
    "issues": "https://github.com/theseer/tokenizer/issues"
  },
  "require": {
    "php": "^8.1",
    "ext-xmlwriter": "*",
    "ext-dom": "*",
    "ext-tokenizer": "*"
  },
  "autoload": {
    "classmap": [
      "src/"
    ]
  }
}

