MooX::PDL2

This class provides the thinnest possible layer required to create a Moo
object which is recognized by PDL.

PDL will treat a non-PDL blessed hash as a PDL object if it has a hash
element with a key of "PDL". That element may be a "PDL" piddle or a
*subroutine* which returns a piddle.

This class provides a "PDL" method (which must not be overridden!) which
returns the contents of the "_PDL" attribute. That attribute is yours to
manipulate.

  Classes without required constructor parameters

PDL does not pass any parameters to a class' initialize method when
constructing a new object. Because of this, the default implementation
of MooX::PDL2::initialize() returns a bare piddle, not an instance of
MooX::PDL2, as it cannot know whether your class requires parameters
during construction.

If your class does *not* require parameters be passed to the
constructor, it is safe to overload the "initialize" method to return a
fully fledged instance of your class:

 sub initialize { shift->new() }

  Overloaded operators

PDL overloads a number of the standard Perl operators. For the most part
it does this using subroutines rather than methods, which makes it
difficult to manipulate them. Consider using overload::reify to wrap the
overloads in methods, e.g.:

  package MyPDL;
  use Moo;
  extends 'MooX::PDL2';
  use overload::reify;

INSTALLATION

This is a Perl module distribution. It should be installed with whichever
tool you use to manage your installation of Perl, e.g. any of

  cpanm .
  cpan  .
  cpanp -i .

Consult http://www.cpan.org/modules/INSTALL.html for further instruction.
Should you wish to install this module manually, the procedure is

  perl Build.PL
  ./Build
  ./Build test
  ./Build install

COPYRIGHT AND LICENSE

This software is Copyright (c) 2017 by Smithsonian Astrophysical
Observatory.

This is free software, licensed under:

  The GNU General Public License, Version 3, June 2007
