res = $res; $this->key = 0; $this->setCurrent( $this->res->current() ); } /** * @param stdClass|false $row * @return void */ protected function setCurrent( $row ) { if ( $row === false ) { $this->current = false; } else { $this->current = User::newFromRow( $row ); } } /** * @return int */ public function count(): int { return $this->res->numRows(); } public function current(): User { return $this->current; } public function key(): int { return $this->key; } public function next(): void { $row = $this->res->fetchObject(); $this->setCurrent( $row ); $this->key++; } public function rewind(): void { $this->res->rewind(); $this->key = 0; $this->setCurrent( $this->res->current() ); } /** * @return bool */ public function valid(): bool { return $this->current !== false; } } /** * Retain the old class name for backwards compatibility. * @deprecated since 1.41 */ class_alias( UserArrayFromResult::class, 'UserArrayFromResult' );