Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. RuleWatchChain.php

class RuleWatchChain

An extension of SplDoublyLinkedList with seek and removal of current element

SplDoublyLinkedList only allows deleting a particular offset and has no method to set the internal iterator to a particular offset.

@author Nils Adermann <naderman@naderman.de> @extends \SplDoublyLinkedList<RuleWatchNode>

Hierarchy

  • class \Composer\DependencyResolver\RuleWatchChain extends \Composer\DependencyResolver\SplDoublyLinkedList

Expanded class hierarchy of RuleWatchChain

File

vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchChain.php, line 24

Namespace

Composer\DependencyResolver
View source
class RuleWatchChain extends \SplDoublyLinkedList {
    
    /**
     * Moves the internal iterator to the specified offset
     *
     * @param int $offset The offset to seek to.
     */
    public function seek(int $offset) : void {
        $this->rewind();
        for ($i = 0; $i < $offset; $i++, $this->next()) {
        }
    }
    
    /**
     * Removes the current element from the list
     *
     * As SplDoublyLinkedList only allows deleting a particular offset and
     * incorrectly sets the internal iterator if you delete the current value
     * this method sets the internal iterator back to the following element
     * using the seek method.
     */
    public function remove() : void {
        $offset = $this->key();
        $this->offsetUnset($offset);
        $this->seek($offset);
    }

}

Members

Title Sort descending Modifiers Object type Summary
RuleWatchChain::remove public function Removes the current element from the list
RuleWatchChain::seek public function Moves the internal iterator to the specified offset

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal