[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 declare(strict_types=1); 4 5 /* 6 * The MIT License (MIT) 7 * 8 * Copyright (c) 2018-2020 Spomky-Labs 9 * 10 * This software may be modified and distributed under the terms 11 * of the MIT license. See the LICENSE file for details. 12 */ 13 14 namespace CBOR; 15 16 use ArrayIterator; 17 use function count; 18 use Countable; 19 use InvalidArgumentException; 20 use Iterator; 21 use IteratorAggregate; 22 23 final class InfiniteListObject extends AbstractCBORObject implements Countable, IteratorAggregate 24 { 25 private const MAJOR_TYPE = 0b100; 26 private const ADDITIONAL_INFORMATION = 0b00011111; 27 28 /** 29 * @var CBORObject[] 30 */ 31 private $data = []; 32 33 public function __construct() 34 { 35 parent::__construct(self::MAJOR_TYPE, self::ADDITIONAL_INFORMATION); 36 } 37 38 public function __toString(): string 39 { 40 $result = parent::__toString(); 41 foreach ($this->data as $object) { 42 $result .= (string) $object; 43 } 44 $bin = hex2bin('FF'); 45 if (false === $bin) { 46 throw new InvalidArgumentException('Unable to convert the data'); 47 } 48 $result .= $bin; 49 50 return $result; 51 } 52 53 public function getNormalizedData(bool $ignoreTags = false): array 54 { 55 return array_map(function (CBORObject $item) use ($ignoreTags) { 56 return $item->getNormalizedData($ignoreTags); 57 }, $this->data); 58 } 59 60 public function add(CBORObject $item): void 61 { 62 $this->data[] = $item; 63 } 64 65 public function count(): int 66 { 67 return count($this->data); 68 } 69 70 public function getIterator(): Iterator 71 { 72 return new ArrayIterator($this->data); 73 } 74 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |