<?php
namespace Arma\Internal;
/**
* Interface for resizable objects (non-subview objects)
*
* @package Arma\Internal
*/
interface Resizable
{
// Set size
* Set the size to be the same as the given object.
* The given object must be of the same root type as the calling object.
* @param static $other
* @return void
function copySize($other);
* Reset the size to zero. The object will have no elements.
function reset();
// Assignment
* Set the real part of the object.
* Given object must have the same size as the recipient object.
function setReal($other);
* Set the imaginary part of the object.
function setImag($other);
// Saving
* Store data in a file or stream (the stream must be opened in binary mode).
* @param resource|string $dest
* @param int $file_type[optional]
* @return bool
function save($dest, $file_type = \Arma\FileType::ARMA_BINARY);
* Retrieve data from a file or stream (the stream must be opened in binary mode).
* On failure, the object is reset so that it has no elements.
* @param resource|string $from
function load($from, $file_type = \Arma\FileType::AUTO_DETECT);
}