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>

