Devel::OverloadInfo
Section: User Contributed Perl Documentation (3pm)
Updated: 2021-09-26
Index
Return to Main Contents
NAME
Devel::OverloadInfo - introspect overloaded operators
VERSION
version 0.007
DESCRIPTION
Devel::OverloadInfo returns information about overloaded
operators for a given class (or object), including where in the
inheritance hierarchy the overloads are declared and where the code
implementing them is.
FUNCTIONS
is_overloaded
if (is_overloaded($class_or_object)) { ... }
Returns a boolean indicating whether the given class or object has any
overloading declared. Note that a bare "use overload;" with no
actual operators counts as being overloaded.
Equivalent to
overload::Overloaded(), but
doesn't trigger various bugs associated with it in versions of perl
before 5.16.
overload_op_info
my $info = overload_op_info($class_or_object, $op);
Returns a hash reference with information about the specified
overloaded operator of the named class or blessed object.
Returns "undef" if the operator is not overloaded.
See ``Overloadable Operations'' in overload for the available operators.
The keys in the returned hash are as follows:
- class
-
The name of the class in which the operator overloading was declared.
- code
-
A reference to the function implementing the overloaded operator.
- code_name
-
The fully qualified name of the function implementing the overloaded operator.
- method_name (optional)
-
The name of the method implementing the overloaded operator, if the
overloading was specified as a named method, e.g. "use overload $op
=> 'method';".
- code_class (optional)
-
The name of the class in which the method specified by "method_name"
was found.
- value (optional)
-
For the special "fallback" key, the value it was given in "class".
overload_info
my $info = overload_info($class_or_object);
Returns a hash reference with information about all the overloaded
operators of specified class name or blessed object. The keys are the
overloaded operators, as specified in %overload::ops (see
``Overloadable Operations'' in overload), and the values are the hashes
returned by ``overload_op_info''.
CAVEATS
Whether the "fallback" key exists when it has its default value of
"undef" varies between perl versions: Before 5.18 it's there, in
later versions it's not.
AUTHOR
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Dagfinn Ilmari Mannsåker.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
Index
- NAME
-
- VERSION
-
- DESCRIPTION
-
- FUNCTIONS
-
- is_overloaded
-
- overload_op_info
-
- overload_info
-
- CAVEATS
-
- AUTHOR
-
- COPYRIGHT AND LICENSE
-
This document was created by
man2html,
using the manual pages.
Time: 23:21:10 GMT, March 28, 2024