Rechercher une page de manuel
Forest::Tree.3pm
Langue: en
Version: 2010-01-13 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
NAME
Forest::Tree - An n-ary treeSYNOPSIS
use Forest::Tree; my $t = Forest::Tree->new( node => 1, children => [ Forest::Tree->new( node => 1.1, children => [ Forest::Tree->new(node => 1.1.1), Forest::Tree->new(node => 1.1.2), Forest::Tree->new(node => 1.1.3), ] ), Forest::Tree->new(node => 1.2), Forest::Tree->new( node => 1.3, children => [ Forest::Tree->new(node => 1.3.1), Forest::Tree->new(node => 1.3.2), ] ), ] ); $t->traverse(sub { my $t = shift; print((' ' x $t->depth) . ($t->node || '\undef') . "\n"); });
DESCRIPTION
This module is a basic n-ary tree, it provides most of the functionality of Tree::Simple, whatever is missing will be added eventually.This class inherits from Forest::Tree::Pure>, but all shared methods and attributes are documented in both classes.
ATTRIBUTES
- node
- uid
- parent
-
-
- parent
- _set_parent
- has_parent
- clear_parent
-
- children
-
-
- get_child_at ($index)
- Return the child at this position. (zero-base index)
- child_count
- Returns the number of children this tree has
-
- size
-
-
- size
- has_size
- clear_size
-
- height
-
-
- height
- has_height
- clear_height
-
METHODS
- is_root
- True if the current tree has no parent
- is_leaf
- True if the current tree has no children
- depth
- Return the depth of this tree. Root has a depth of -1
- add_child ($child)
- add_children (@children)
- Add a new child. The $child must be a "Forest::Tree"
- insert_child_at ($index, $child)
- Insert a child at this position. (zero-base index)
- remove_child_at ($index)
- Remove the child at this position. (zero-base index)
- traverse (\&func)
- Takes a reference to a subroutine and traverses the tree applying this subroutine to every descendant.
- siblings
- Returns an array reference of all siblings (not including us)
- to_pure_tree
- Invokes "reconstruct_with_class" with Forest::Tree::Pure.
- to_mutable_tree
- Returns the invocant (without cloning).
- clone
- See ``clone'' in Forest::Tree::Pure.
This variant will not clone the parent, but return a clone of the subtree that is detached.
- get_index_in_siblings
- Returns the index of the tree in the list of children.
Equivalent to calling "$tree-"parent->get_child_index($tree)>.
Returns -1 if the node has no parent (the root node).
BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.AUTHOR
Stevan Little <stevan.little@iinteractive.com>COPYRIGHT AND LICENSE
Copyright 2008-2010 Infinity Interactive, Inc.<http://www.iinteractive.com>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre