name: ManagesStacks
class_comment: null
dependencies:
- name: InvalidArgumentException
  type: class
  source: InvalidArgumentException
properties:
- name: pushes
  visibility: protected
  comment: '# * All of the finished, captured push sections.

    # *

    # * @var array'
- name: prepends
  visibility: protected
  comment: '# * All of the finished, captured prepend sections.

    # *

    # * @var array'
- name: pushStack
  visibility: protected
  comment: '# * The stack of in-progress push sections.

    # *

    # * @var array'
methods:
- name: startPush
  visibility: public
  parameters:
  - name: section
  - name: content
    default: ''''''
  comment: "# * All of the finished, captured push sections.\n# *\n# * @var array\n\
    # */\n# protected $pushes = [];\n# \n# /**\n# * All of the finished, captured\
    \ prepend sections.\n# *\n# * @var array\n# */\n# protected $prepends = [];\n\
    # \n# /**\n# * The stack of in-progress push sections.\n# *\n# * @var array\n\
    # */\n# protected $pushStack = [];\n# \n# /**\n# * Start injecting content into\
    \ a push section.\n# *\n# * @param  string  $section\n# * @param  string  $content\n\
    # * @return void"
- name: stopPush
  visibility: public
  parameters: []
  comment: '# * Stop injecting content into a push section.

    # *

    # * @return string

    # *

    # * @throws \InvalidArgumentException'
- name: extendPush
  visibility: protected
  parameters:
  - name: section
  - name: content
  comment: '# * Append content to a given push section.

    # *

    # * @param  string  $section

    # * @param  string  $content

    # * @return void'
- name: startPrepend
  visibility: public
  parameters:
  - name: section
  - name: content
    default: ''''''
  comment: '# * Start prepending content into a push section.

    # *

    # * @param  string  $section

    # * @param  string  $content

    # * @return void'
- name: stopPrepend
  visibility: public
  parameters: []
  comment: '# * Stop prepending content into a push section.

    # *

    # * @return string

    # *

    # * @throws \InvalidArgumentException'
- name: extendPrepend
  visibility: protected
  parameters:
  - name: section
  - name: content
  comment: '# * Prepend content to a given stack.

    # *

    # * @param  string  $section

    # * @param  string  $content

    # * @return void'
- name: yieldPushContent
  visibility: public
  parameters:
  - name: section
  - name: default
    default: ''''''
  comment: '# * Get the string contents of a push section.

    # *

    # * @param  string  $section

    # * @param  string  $default

    # * @return string'
- name: flushStacks
  visibility: public
  parameters: []
  comment: '# * Flush all of the stacks.

    # *

    # * @return void'
traits:
- InvalidArgumentException
interfaces: []