NAME
Object::Pad::ClassAttr::Struct
- declare an Object::Pad
class to be struct-like
SYNOPSIS
use Object::Pad;
use Object::Pad::ClassAttr::Struct;
class Colour :Struct {
# These get :param :mutator automatically
has $red = 0;
has $green = 0;
has $blue = 0;
# Additional methods are still permitted
method lightness {
return ($red + $green + $blue) / 3;
}
}
my $cyan = Colour->new( green => 1, blue => 1 );
DESCRIPTION
This module provides a third-party class attribute for Object::Pad-based classes, which applies some attributes automatically to every slot added to the class, as a convenient shortcut for making structure-like classes.
CLASS ATTRIBUTES
:Struct
class Name :Struct ... { ... }
Automatically applies the :param
and :mutator
attributes to every slot defined on the class.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>