name: Sequence
class_comment: null
dependencies:
- name: Countable
  type: class
  source: Countable
properties:
- name: sequence
  visibility: protected
  comment: '# * The sequence of return values.

    # *

    # * @var array'
- name: count
  visibility: public
  comment: '# * The count of the sequence items.

    # *

    # * @var int'
- name: index
  visibility: public
  comment: '# * The current index of the sequence iteration.

    # *

    # * @var int'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: '...$sequence'
  comment: "# * The sequence of return values.\n# *\n# * @var array\n# */\n# protected\
    \ $sequence;\n# \n# /**\n# * The count of the sequence items.\n# *\n# * @var int\n\
    # */\n# public $count;\n# \n# /**\n# * The current index of the sequence iteration.\n\
    # *\n# * @var int\n# */\n# public $index = 0;\n# \n# /**\n# * Create a new sequence\
    \ instance.\n# *\n# * @param  mixed  ...$sequence\n# * @return void"
- name: count
  visibility: public
  parameters: []
  comment: '# * Get the current count of the sequence items.

    # *

    # * @return int'
- name: __invoke
  visibility: public
  parameters: []
  comment: '# * Get the next value in the sequence.

    # *

    # * @return mixed'
traits:
- Countable
interfaces:
- Countable