Object-InsideOut version 0.03.00
================================

This module provides comprehensive support for implementing classes using the
inside-out object model.

This module implements inside-out objects as anonymous scalar references that
have been blessed into a class with the scalar containing the ID for the
object (usually its 'refaddr').  Object data (i.e., fields) are stored in
hashes within the class's package and are keyed to the object's ID.

This module offers all the capabilities of Class::Std with the following
additional key advantages:

= Speed
As fast as 'blessed hash' objects for fetching and setting data, and 2.5-4.5
times faster than Class::Std.

= Threads
Class::Std is not thread safe.  Object::InsideOUt is thread safe, and
thoroughly supports sharing objects between threads using 'threads::shared'.

= Flexibility
Allows control over object ID specification, accessor naming, parameter name
matching, and more.

INSTALLATION

To install this module type the following:

    perl Makefile.PL
    make
    make test
    make install

or if you have Module::Build installed:

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

DEPENDENCIES

Requires Perl 5.6.0 or later.

This module uses the following 'standard' modules:

  ExtUtils::MakeMaker   - For installation
  Test::More            - For installation

This module requires the following module available from CPAN:

  Exception::Class (1.22 or higher)

This module will use the following if available:

  Scalar::Util - Standard in 5.8 or obtain from CPAN (strongly recommended)

COPYRIGHT AND LICENCE

Copyright 2005 Jerry D. Hedden <jdhedden AT 1979 DOT usna DOT com>

This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.

# EOF
