table of contents
        
      
      
    | Class::MOP::Overload(3) | User Contributed Perl Documentation | Class::MOP::Overload(3) | 
NAME¶
Class::MOP::Overload - Overload Meta Object
VERSION¶
version 2.2010
SYNOPSIS¶
    my $meta     = Class->meta;
    my $overload = $meta->get_overloaded_operator('+');
    if ( $overload->has_method_name ) {
        print 'Method for + is ', $overload->method_name, "\n";
    }
    else {
        print 'Overloading for + is implemented by ',
            $overload->coderef_name, " sub\n";
    }
DESCRIPTION¶
This class provides meta information for overloading in classes and roles.
INHERITANCE¶
"Class::MOP::Overload" is a subclass of Class::MOP::Object.
METHODS¶
Class::MOP::Overload->new(%options)¶
This method creates a new "Class::MOP::Overload" object. It accepts a number of options:
- operator
    
This is a string that matches an operator known by the overload module, such as "" or "+". This is required.
 - method_name
    
The name of the method which implements the overloading. Note that this does not need to actually correspond to a real method, since it's okay to declare a not-yet-implemented overloading.
Either this or the "coderef" option must be passed.
 - method
    
A Class::MOP::Method object for the method which implements the overloading.
This is optional.
 - coderef
    
A coderef which implements the overloading.
Either this or the "method_name" option must be passed.
 - coderef_package
    
The package where the coderef was defined.
This is required if "coderef" is passed.
 - coderef_name
    
The name of the coderef. This can be "__ANON__".
This is required if "coderef" is passed.
 - associated_metaclass
    
A Class::MOP::Module object for the associated class or role.
This is optional.
 
$overload->operator¶
Returns the operator for this overload object.
$overload->method_name¶
Returns the method name that implements overloading, if it has one.
$overload->has_method_name¶
Returns true if the object has a method name.
$overload->method¶
Returns the Class::MOP::Method that implements overloading, if it has one.
$overload->has_method¶
Returns true if the object has a method.
$overload->coderef¶
Returns the coderef that implements overloading, if it has one.
$overload->has_coderef¶
Returns true if the object has a coderef.
$overload->coderef_package¶
Returns the package for the coderef that implements overloading, if it has one.
$overload->has_coderef¶
Returns true if the object has a coderef package.
$overload->coderef_name¶
Returns the sub name for the coderef that implements overloading, if it has one.
$overload->has_coderef_name¶
Returns true if the object has a coderef name.
$overload->is_anonymous¶
Returns true if the overloading is implemented by an anonymous coderef.
$overload->associated_metaclass¶
Returns the Class::MOP::Module (class or role) that is associated with the overload object.
$overload->clone¶
Clones the overloading object, setting "original_overload" in the process.
$overload->original_overload¶
For cloned objects, this returns the Class::MOP::Overload object from which they were cloned. This can be used to determine the source of an overloading in a class that came from a role, for example.
AUTHORS¶
- Stevan Little <stevan.little@iinteractive.com>
 - Dave Rolsky <autarch@urth.org>
 - Jesse Luehrs <doy@tozt.net>
 - Shawn M Moore <code@sartak.org>
 - יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
 - Karen Etheridge <ether@cpan.org>
 - Florian Ragwitz <rafl@debian.org>
 - Hans Dieter Pearcey <hdp@weftsoar.net>
 - Chris Prather <chris@prather.org>
 - Matt S Trout <mst@shadowcat.co.uk>
 
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2006 by Infinity Interactive, Inc.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| 2018-02-17 | perl v5.26.1 |