Current File : /home/bdmcricketindia.in/public_html/wp-includes/class-wp-block-list.php
<?php
/**
 * Blocks API: WP_Block_List class
 *
 * @package WordPress
 * @since 5.5.0
 */

/**
 * Class representing a list of block instances.
 *
 * @since 5.5.0
 */
#[AllowDynamicProperties]
class WP_Block_List implements Iterator, ArrayAccess, Countable {

	/**
	 * Original array of parsed block data, or block instances.
	 *
	 * @since 5.5.0
	 * @var array[]|WP_Block[]
	 * @access protected
	 */
	protected $blocks;

	/**
	 * All available context of the current hierarchy.
	 *
	 * @since 5.5.0
	 * @var array
	 * @access protected
	 */
	protected $available_context;

	/**
	 * Block type registry to use in constructing block instances.
	 *
	 * @since 5.5.0
	 * @var WP_Block_Type_Registry
	 * @access protected
	 */
	protected $registry;

	/**
	 * Constructor.
	 *
	 * Populates object properties from the provided block instance argument.
	 *
	 * @since 5.5.0
	 *
	 * @param array[]|WP_Block[]     $blocks            Array of parsed block data, or block instances.
	 * @param array                  $available_context Optional array of ancestry context values.
	 * @param WP_Block_Type_Registry $registry          Optional block type registry.
	 */
	public function __construct( $blocks, $available_context = array(), $registry = null ) {
		if ( ! $registry instanceof WP_Block_Type_Registry ) {
			$registry = WP_Block_Type_Registry::get_instance();
		}

		$this->blocks            = $blocks;
		$this->available_context = $available_context;
		$this->registry          = $registry;
	}

	/**
	 * Returns true if a block exists by the specified block offset, or false
	 * otherwise.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/arrayaccess.offsetexists.php
	 *
	 * @param string $offset Offset of block to check for.
	 * @return bool Whether block exists.
	 */
	#[ReturnTypeWillChange]
	public function offsetExists( $offset ) {
		return isset( $this->blocks[ $offset ] );
	}

	/**
	 * Returns the value by the specified block offset.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/arrayaccess.offsetget.php
	 *
	 * @param string $offset Offset of block value to retrieve.
	 * @return mixed|null Block value if exists, or null.
	 */
	#[ReturnTypeWillChange]
	public function offsetGet( $offset ) {
		$block = $this->blocks[ $offset ];

		if ( isset( $block ) && is_array( $block ) ) {
			$block = new WP_Block( $block, $this->available_context, $this->registry );

			$this->blocks[ $offset ] = $block;
		}

		return $block;
	}

	/**
	 * Assign a block value by the specified block offset.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/arrayaccess.offsetset.php
	 *
	 * @param string $offset Offset of block value to set.
	 * @param mixed  $value Block value.
	 */
	#[ReturnTypeWillChange]
	public function offsetSet( $offset, $value ) {
		if ( is_null( $offset ) ) {
			$this->blocks[] = $value;
		} else {
			$this->blocks[ $offset ] = $value;
		}
	}

	/**
	 * Unset a block.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/arrayaccess.offsetunset.php
	 *
	 * @param string $offset Offset of block value to unset.
	 */
	#[ReturnTypeWillChange]
	public function offsetUnset( $offset ) {
		unset( $this->blocks[ $offset ] );
	}

	/**
	 * Rewinds back to the first element of the Iterator.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/iterator.rewind.php
	 */
	#[ReturnTypeWillChange]
	public function rewind() {
		reset( $this->blocks );
	}

	/**
	 * Returns the current element of the block list.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/iterator.current.php
	 *
	 * @return mixed Current element.
	 */
	#[ReturnTypeWillChange]
	public function current() {
		return $this->offsetGet( $this->key() );
	}

	/**
	 * Returns the key of the current element of the block list.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/iterator.key.php
	 *
	 * @return mixed Key of the current element.
	 */
	#[ReturnTypeWillChange]
	public function key() {
		return key( $this->blocks );
	}

	/**
	 * Moves the current position of the block list to the next element.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/iterator.next.php
	 */
	#[ReturnTypeWillChange]
	public function next() {
		next( $this->blocks );
	}

	/**
	 * Checks if current position is valid.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/iterator.valid.php
	 */
	#[ReturnTypeWillChange]
	public function valid() {
		return null !== key( $this->blocks );
	}

	/**
	 * Returns the count of blocks in the list.
	 *
	 * @since 5.5.0
	 *
	 * @link https://www.php.net/manual/en/countable.count.php
	 *
	 * @return int Block count.
	 */
	#[ReturnTypeWillChange]
	public function count() {
		return count( $this->blocks );
	}
}
blog

blog

1win официальный сайт букмекера — Обзор и зеркало для входа.1580

1win официальный сайт букмекера — Обзор и зеркало для входа ▶️ ИГРАТЬ Содержимое 1win Официальный Сайт Букмекера Обзор и Зеркало для Входа Преимущества и Функции 1win В мире ставок и азарта 1win является одним из самых популярных букмекеров, предлагающих широкий спектр услуг для игроков. Компания была основана в 2018 году …

Read More »

сайт – онлайн казино и покер рум – Вход.4789

Покердом официальный сайт – онлайн казино и покер рум – Вход ▶️ ИГРАТЬ Содержимое Покердом – официальный сайт онлайн казино и покер рума Преимущества Покердома Преимущества игры на официальном сайте PokerDom Как зарегистрироваться и начать играть на Pokerdom Возможности онлайн казино и покер рума Большой выбор игр Бонусы и акции …

Read More »

1Win Azerbaijan – dman Mrclri v Casino sayt.641

1Win Azerbaijan – İdman Mərcləri və Casino saytı ▶️ OYNA Содержимое 1Win Azerbaijan haqqında məlumatlar Idman mərcələrindən istifadə edən məsləhətlər Casino saytı haqqında məlumatlar Idman mərcələrindən və casino saytı ilə bağlı məlumatlar 1Win Azerbaijan – bu idman mərcələr və casino xidmətlərindən istifadə etmək üçün ən yaxşı veb sayt. Bu saytda …

Read More »

– Официальный сайт Pinco Casino.1586

Пинко Казино – Официальный сайт Pinco Casino ▶️ ИГРАТЬ Содержимое Преимущества игры на официальном сайте Pinco Casino Виды игр и слотов на официальном сайте Pinco Casino Бонусы и акции на официальном сайте Pinco Casino В наше время казино стали популярными развлечениями для многих людей. Многие из них ищут новые и …

Read More »

Mostbet app Pakistan.109

Mostbet app Pakistan ▶️ PLAY Содержимое Mostbet App in Pakistan: A Comprehensive Guide Why Choose Mostbet App in Pakistan? How to Download and Install Mostbet App in Pakistan? In the world of online betting, Mostbet has established itself as a leading platform, offering a wide range of sports and casino …

Read More »

1win официальный сайт букмекера — Обзор и зеркало для входа.5506

1win официальный сайт букмекера — Обзор и зеркало для входа ▶️ ИГРАТЬ Содержимое 1win Официальный Сайт Букмекера Преимущества Официального Сайта 1win Зеркало для входа Обзор и Зеркало для Входа Преимущества 1win Преимущества и Функции Официального Сайта 1win Удобство и Легкость Пользования В мире ставок и азарта 1вин является одним из …

Read More »

Детальный обзор игорного заведения с возможностью демо-режима

Детальный обзор игорного заведения с возможностью демо-режима Виртуальные гэмблинг-платформы с функцией бесплатной игры предлагают особую возможность для геймеров проверить фортуну без опасности лишиться собственных средств. Бесплатная забава позволяет новичкам разобраться в пользовательским интерфейсом и регламентом, а профессионалам — протестировать новые стратегии в Максбет казино. Отличительная черта таких платформ выражается в …

Read More »

Pin Up Казино – Официальный сайт Пин Ап вход на зеркало (2025).3235

Pin Up Казино – Официальный сайт Пин Ап вход на зеркало (2025) ▶️ ИГРАТЬ Содержимое Pin Up Казино – Официальный сайт Пин Ап Преимущества Pin Up Казино Вход на зеркало (2025) Преимущества и функции Pin Up Казино Как начать играть в Pin Up Казино Доступные методы оплаты Отзывы и рейтинг …

Read More »

Казино Официальный сайт Pin Up Casino играть онлайн – Вход, Зеркало.6473

Пин Ап Казино Официальный сайт | Pin Up Casino играть онлайн – Вход, Зеркало ▶️ ИГРАТЬ Содержимое Pin Up Casino: Официальный Сайт Вход в Казино Зеркало Казино Как Играть Онлайн в Пинап Казино Шаг 1: Регистрация Шаг 2: Депозит Шаг 3: Выбор Игры Шаг 4: Играть Преимущества игроков в Pin …

Read More »

1win официальный сайт букмекера — Обзор и зеркало для входа.3344

1win официальный сайт букмекера — Обзор и зеркало для входа ▶️ ИГРАТЬ Содержимое 1win Официальный Сайт Букмекера Преимущества официального сайта 1вин Обзор и Зеркало для Входа Преимущества и Функции Официального Сайта 1win Функции официального сайта 1win: В мире ставок и азарта 1вин является одним из самых популярных букмекеров, предлагающих широкий …

Read More »