The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::ProcessMatrix - Matrix von zeitlichen Vorgängen

BASE CLASS

Quiq::Hash

DESCRIPTION

Ordne eine Menge von zeitlichen Vorgängen (z.B. gelaufene Prozesse) in einer Matrix an. Finden Vorgänge parallel statt, hat die Matrix mehr als eine Kolumne.

Algorithmus

METHODS

Klassenmethoden

new() - Konstruktor

Synopsis

  $mtx = $class->new(\@objects,$beginMethod,$endMethod);

Arguments

@objects

Liste von nicht näher bestimmten Objekten. Jedes Objekt ist durch einen Anfangszeitpunkt und einen Endezeitpunkt gekennzeichnet, beides in Unix Epoch.

$beginMethod

Name der Objektmethode, die den Anfangszeitpunkt (Unix Epoch) liefert.

$endMethod

Name der Objektmethode, die den Endezeitpunkt (Unix Epoch) liefert.

Returns

Matrix-Objekt

Description

Instantiiere ein Matrix-Objekt für die Vorgänge @objects mit den Methoden $beginMethod und $endMethod und liefere eine Referenz auf dieses Objekt zurück.

Algorithmus

  1. Die Objekte @objects werden nach Anfangszeitpunkt aufsteigend sortiert.

  2. Eine leere Liste von Zeitschienen wird erzeugt.

  3. Es wird über die Objekte iteriert. Das aktuelle Objekt wird zu der ersten Zeitschiene hinzugefügt, die "frei" ist. Eine Zeitschiene ist frei, wenn sie leer ist oder das letzte Element beendet ist und die Anfangszeitpunkt des Objektes nicht belegt.

Objektmethoden

width() - Breite der Matrix

Synopsis

  $width = $mtx->width;

Returns

Integer

Description

Liefere die Anzahl der Kolumnen der Matrix.

VERSION

1.162

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2019 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.