Alex Balhatchet > Algorithm-DependencySolver > Algorithm::DependencySolver::Operation

Download:
Algorithm-DependencySolver-1.00.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 1.00   Source  

NAME ^

Algorithm::DependencySolver::Operation - An operation representation

VERSION ^

version 1.00

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

syntax highlighting: