. * * @author Nicolai Ehemann * @copyright Copyright (C) 2013-2014 Nicolai Ehemann and contributors * @license GNU GPL */ namespace ZipStreamer\Lib; abstract class Count64Base { protected $limit32Bit = False; function __construct($value = 0, $limit32Bit = False) { $this->limit32Bit = $limit32Bit; $this->set($value); } abstract public function set($value); abstract public function add($value); abstract public function getHiBytes(); abstract public function getLoBytes(); abstract public function _getValue(); const EXCEPTION_SET_INVALID_ARGUMENT = "Count64 object can only be set() to integer or Count64 values"; const EXCEPTION_ADD_INVALID_ARGUMENT = "Count64 object can only be add()ed integer or Count64 values"; const EXCEPTION_32BIT_OVERFLOW = "Count64 object limited to 32 bit (overflow)"; }