NAME
Graph::SomeUtils - Some utility functions for Graph objects
SYNOPSIS
graph_delete_vertex_fast(
$g
,
'a'
);
graph_delete_vertices_fast(
$g
,
'a'
,
'b'
,
'c'
);
my
@pred
= graph_all_predecessors_and_self(
$g
,
$v
);
my
@succ
= graph_all_successors_and_self(
$g
,
$v
);
my
@between
= graph_vertices_between(
$g
,
$source
,
$dest
);
DESCRIPTION
Some helper functions for working with Graph objects.
FUNCTIONS
- graph_delete_vertex_fast($g, $v)
-
The
delete_vertex
method of the Graph modulev0.96
is very slow. This function is an order-of-magnitude faster alternative. It accesses internals of the Graph module and might break under newer versions of the module. - graph_delete_vertices_fast($g, $v1, $v2, ...)
-
Same as
graph_delete_vertex_fast
for multiple vertices. - graph_vertices_between($g, $source, $destination)
-
Returns the intersection of vertices that are reachable from
$source
and vertices from which$destination
is reachable, including the$source
and$destination
vertices themself. - graph_all_successors_and_self($g, $v)
-
Returns the union of
$g-
all_successors($v)> and$v
in an arbitrary order. - graph_all_predecessors_and_self($g, $v)
-
Returns the union of
$g-
all_predecessors($v)> and$v
in an arbitrary order. - graph_get_vertex_label($g, $v)
-
Shorthand for getting the vertex attribute
label
. - graph_set_vertex_label($g, $v, $label)
-
Shorthand for setting the vertex attribute
label
. - graph_isolate_vertex($g, $v)
-
Removes edges coming in and going out of
$v
. - graph_delete_vertices_except($g, @vertices)
-
Deletes vertices except
@vertices
. - graph_truncate_to_vertices_between($g, $start, $final)
-
Removes all vertices that are neither
$start
or$final
nor on a path between them.
EXPORTS
None by default, each of the functions by request. Use :all
to import them all at once.
AUTHOR / COPYRIGHT / LICENSE
Copyright (c) 2014 Bjoern Hoehrmann <bjoern
@hoehrmann
.de>.
This module is licensed under the same terms as Perl itself.