Exemple #1
0
 public function get($key)
 {
     $offset = Objects::hashOf($key);
     if (!isset($this->elements[$offset])) {
         throw new \util\NoSuchElementException('No such key ' . \xp::stringOf($key));
     }
     return $this->elements[$offset];
 }
 public function pop()
 {
     if (empty($this->_elements)) {
         throw new NoSuchElementException('Stack is empty');
     }
     $element = array_shift($this->_elements);
     $h = Objects::hashOf($element);
     $this->_hash += HashProvider::hashOf($h);
     return $element;
 }
 public function remove($element)
 {
     if (-1 == ($pos = $this->search($element))) {
         return false;
     }
     $element = $this->_elements[$pos];
     $h = Objects::hashOf($element);
     $this->_hash -= HashProvider::hashOf($h);
     unset($this->_elements[$pos]);
     $this->_elements = array_values($this->_elements);
     // Re-index
     return true;
 }
Exemple #4
0
 /** @return string */
 public function hashCode()
 {
     return crc32($this->uri) . Objects::hashOf($this->params);
 }
 /** @return string */
 public function hashCode()
 {
     return 'C' . Objects::hashOf($this->sources);
 }
Exemple #6
0
 /** @return string */
 public function hashCode()
 {
     return Objects::hashOf($this->definition);
 }
Exemple #7
0
 /**
  * Returns a hashcode for this boxed value
  *
  * @return string
  */
 public function hashCode()
 {
     return 'b$' . Objects::hashOf($this->value);
 }
Exemple #8
0
 /**
  * Returns a hashcode
  *
  * @return strintg
  */
 public function hashCode()
 {
     return 'S' . Objects::hashOf($this->elements);
 }
 public function update($element)
 {
     $h = $this->prefix . Objects::hashOf($element);
     unset($this->_elements[$h]);
     $this->_elements = $this->_elements + [$h => $element];
 }
Exemple #10
0
 /** @return string */
 public function hashCode()
 {
     return 'V@' . Objects::hashOf($this->backing);
 }
 /**
  * Returns a hashcode for this pair
  *
  * @return string
  */
 public function hashCode()
 {
     return HashProvider::hashOf(Objects::hashOf($this->key)) + HashProvider::hashOf(Objects::hashOf($this->value));
 }
Exemple #12
0
 public function function_hash()
 {
     $this->assertEquals(spl_object_hash(self::$func), Objects::hashOf(self::$func));
 }
 public function addAll($elements)
 {
     $changed = false;
     foreach ($elements as $element) {
         $h = Objects::hashOf($element);
         if (isset($this->_elements[$h])) {
             continue;
         }
         $this->_hash += HashProvider::hashOf($h);
         $this->_elements[$h] = $element;
         $changed = true;
     }
     return $changed;
 }
 public function containsKey($key)
 {
     $h = Objects::hashOf($key);
     return isset($this->_buckets[$h]);
 }
 public function hashOf_calls_hashCode_on_objects($val)
 {
     $this->assertEquals($val->hashCode(), Objects::hashOf($val));
 }
Exemple #16
0
 /**
  * Returns a hashcode
  *
  * @return strintg
  */
 public function hashCode()
 {
     return 'O' . ($this->present ? Objects::hashOf($this->value) : 'N');
 }