| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- <?php
 
- declare(strict_types = 1);
 
- namespace BaconQrCode\Common;
 
- /**
 
-  * Encapsulates a set of error-correction blocks in one symbol version.
 
-  *
 
-  * Most versions will use blocks of differing sizes within one version, so, this encapsulates the parameters for each
 
-  * set of blocks. It also holds the number of error-correction codewords per block since it will be the same across all
 
-  * blocks within one version.
 
-  */
 
- final class EcBlocks
 
- {
 
-     /**
 
-      * Number of EC codewords per block.
 
-      *
 
-      * @var int
 
-      */
 
-     private $ecCodewordsPerBlock;
 
-     /**
 
-      * List of EC blocks.
 
-      *
 
-      * @var EcBlock[]
 
-      */
 
-     private $ecBlocks;
 
-     public function __construct(int $ecCodewordsPerBlock, EcBlock ...$ecBlocks)
 
-     {
 
-         $this->ecCodewordsPerBlock = $ecCodewordsPerBlock;
 
-         $this->ecBlocks = $ecBlocks;
 
-     }
 
-     /**
 
-      * Returns the number of EC codewords per block.
 
-      */
 
-     public function getEcCodewordsPerBlock() : int
 
-     {
 
-         return $this->ecCodewordsPerBlock;
 
-     }
 
-     /**
 
-      * Returns the total number of EC block appearances.
 
-      */
 
-     public function getNumBlocks() : int
 
-     {
 
-         $total = 0;
 
-         foreach ($this->ecBlocks as $ecBlock) {
 
-             $total += $ecBlock->getCount();
 
-         }
 
-         return $total;
 
-     }
 
-     /**
 
-      * Returns the total count of EC codewords.
 
-      */
 
-     public function getTotalEcCodewords() : int
 
-     {
 
-         return $this->ecCodewordsPerBlock * $this->getNumBlocks();
 
-     }
 
-     /**
 
-      * Returns the EC blocks included in this collection.
 
-      *
 
-      * @return EcBlock[]
 
-      */
 
-     public function getEcBlocks() : array
 
-     {
 
-         return $this->ecBlocks;
 
-     }
 
- }
 
 
  |