Class::MOP::Overload - Overload Meta Object

  1. VERSION
  2. SYNOPSIS
  3. DESCRIPTION
  4. INHERITANCE
  5. METHODS
    1. Class::MOP::Overload->new(%options)
    2. $overload->operator
    3. $overload->method_name
    4. $overload->has_method_name
    5. $overload->method
    6. $overload->has_method
    7. $overload->coderef
    8. $overload->has_coderef
    9. $overload->coderef_package
    10. $overload->has_coderef
    11. $overload->coderef_name
    12. $overload->has_coderef_name
    13. $overload->is_anonymous
    14. $overload->associated_metaclass
    15. $overload->clone
    16. $overload->original_overload
  6. AUTHORS
  7. COPYRIGHT AND LICENSE

VERSION

version 2.2207

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:

$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

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.