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).