*/ class struct_subject_memory { /** * @author Christian Fraß */ public $data; /** * @author Christian Fraß */ public function __construct( ) { $this->data = []; } } /** * @author Christian Fraß * @return struct_subject_memory */ function memory_make( ) : struct_subject_memory { return (new struct_subject_memory()); } /** * @param struct_subject_memory $subject * @param string $id * @param mixed $value * @author Christian Fraß */ function memory_set( struct_subject_memory $subject, string $id, $value ) : void { $subject->data[$id] = $value; } /** * @param struct_subject_memory $subject * @param string $id * @return bool * @author Christian Fraß */ function memory_has( struct_subject_memory $subject, string $id ) : bool { return array_key_exists($id, $subject->data); } /** * @param struct_subject_memory $subject * @param string $id * @return mixed * @author Christian Fraß */ function memory_fetch( struct_subject_memory $subject, string $id ) { return $subject->data[$id]; } /** * @param struct_subject_memory $subject * @author Christian Fraß */ function memory_clear( struct_subject_memory $subject ) : void { $subject->data = []; }