NAME

Graph::AdjacencyMap - map of graph vertices or edges

SYNOPSIS

Internal.

DESCRIPTION

This module is meant for internal use by the Graph module.

OBJECT METHODS

del_path(\@seq)

Delete a Map path.

del_path_by_multi_id(\@seq, $id)

Delete a Map path by a multi(vertex) id.

get_multi_ids(\@seq)

Return the multi ids.

has_path(\@seq)

Returns the integer ID of the path, or undef if Map doesn't have it.

has_any_paths

Return true if the Map has any paths, false if not.

has_path_by_multi_id(\@seq, $id)

Return true if the Map has the path by a multi(vertex) id, false if not.

paths

Return all the paths (left-hand sides) of the Map.

ids

Return all the right-hand sides of the Map, unsorted.

set_paths(\@seq1, \@seq2, ...)

@ids = set_paths($seq1, $seq2, ...)

Create/identify the path of $seq*. Returns the integer ID of each path. For arity other than 1, the sequence items must be integers. For arity 1, do not wrap the item in an array. For _UNORD, you must give the sequence already sorted.

set_path_by_multi_id(\@seq, $id)

($integer_ID, $multi_ID) = $m->set_path_by_multi_id(\@seq, $id)

Set the path in the Map by the multi id.

get_paths_by_ids([ \@idlist1, \@idlist2... ], $deep)

Given an array-ref of array-refs of vertex IDs, returns a list of array-refs of vertex-names. This is to look up vertex paths for use in edges. Only useful for arity 1. The $deep option is useful with directed hyperedges.

get_ids_by_paths

@ids = $m->get_ids_by_paths([ \@seq1, \@seq2... ], $ensure, 0);
@id_lists = $m->get_ids_by_paths([ \@seq1, \@seq2... ], $ensure, 1);

This is to look up vertex IDs for use in edges. Only useful for arity 1. Given an array-ref of array-refs with paths, returns a list of IDs of existing paths.

If $ensure is true, will first create paths that do not already exist. If it is not, any non-existing paths will cause an empty list to be returned.

If $deep is true, each sequence will be treated as a list of paths, and IDs filled in for the return values. This can have a value up to 2.

rename_path($from, $to)

Rename the path.

stringify

Return a string describing the object in a human-friendly(ish) way.

successors

@successors = $m->successors(@v)

Only valid for a map of arity other than 1.

predecessors

@predecessors = $m->predecessors($v)

Only valid for a non-_UNORD map of arity other than 1.

paths_from

@paths = $m->paths_from(@v)

Only valid for a map of arity other than 1.

paths_to

@paths = $m->paths_to($v)

Only valid for a non-_UNORD map of arity other than 1.

has_successor

$bool = $m->has_successor($u, $v)

Only valid for a map of arity other than 1.

reindex

Will recreate the mapping from paths to indexes. Intended for use after a deep copy.

AUTHOR AND COPYRIGHT

Jarkko Hietaniemi jhi@iki.fi

LICENSE

This module is licensed under the same terms as Perl itself.