NAME
Algorithm::DependencySolver::Operation - An operation representation
VERSION
version 1.01
SYNOPSIS
my $operation = Algorithm::DependencySolver::Operation->new(
id => 2,
depends => [qw(x)],
affects => [qw(y)],
prerequisites => [1],
obj => $whatever
);
OPTIONAL ATTRIBUTES
obj
An arbitrary object, which is never used by anything in the Algorithm::DependencySolver::*
namespace.
prerequisites
An arrayref of other Operation objects, identified by their id strings.
If an operation $b
depends on operation <C$a>, then any cycle which would have resulted in $b
running before $a
will be broken just before operation $a
.
That is, if there exists a cycle containing both $a
and $b
, then edge $e
will be removed, where $e
is any edge within the cycle which points directly to $a
.
id
A string which uniquely identifies this operation
depends
An arrayref of resources (each resource is simply a string identifier) that this operation depends on.
affects
An arrayref of resources (each resource is simply a string identifier) that this operation affects (i.e., modifies).