Name : perl-Class-DispatchToAll
| |
Version : 0.13
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : lp156.1.1
| Date : 2024-07-03 17:52:43
|
Group : Unspecified
| Source RPM : perl-Class-DispatchToAll-0.13-lp156.1.1.src.rpm
|
Size : 0.03 MB
| |
Packager : https://www_suse_com/
| |
Summary : DEPRECATED - dispatch a method call to all inherited methods
|
Description :
DEPRECATED - Do not use this module anymore!
But here are the old docs, anyway:
See the Docs of Damian Conways Module Class::Delegation for a good introduction about Dispatching vs. Inheritance.
Class::DispatchToAll enables you to call *all* instantances of a method in your inheritance tree (or labyrinth..).
The standard Perl behaviour is to call only the lefternmost instance it can fing doing a depth first traversial.
Imagine the following class structure:
C / A B C::C \\ / \\ / A::A D \\ / My::Class
Perl will try to find a method in this mess in this order:
My::Class -> A::A -> A -> B -> D -> B -> C::C -> C
(Note that it will look twice in \'B\' because \'B\' is a parent of both \'A::A\' and \'D\'))
As soon as Perl finds the method somewhere, it will short-circuit out of it\'s search and invoke the method.
And that is exactly the behaviour \'Class::DispatchToAll\' changes.
If you use \'dispatch_to_all\' (provided by \'Class::DispatchToAll\') to call your method, Perl will look in all of the aforementioned packages and run all the methods it can find. It will even collect all the return values and return them to you as an array, if you want it too.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-C/15.6/noarch |