use warnings;
use Scalar::Util qw( reftype);
-our $VERSION = '1.09';
+our $VERSION = '1.10';
require Exporter;
our @ISA = qw(Exporter);
not a reference, returns $obj.
This function is a stand-in replacement for
-L<Scalar::Util::refaddr|Scalar::Util/refaddr>, that is, it returns
+L<Scalar::Util::refaddr|Scalar::Util/refaddr EXPR>, that is, it returns
the reference address of its argument as a numeric value. The only
difference is that C<refaddr()> returns C<undef> when given a
non-reference while C<id()> returns its argument unchanged.
on your @ISA list and use my methods". If the other class has different
ideas about how the object body is used, there is trouble.
-For reference L<Name_hash> in L<Example 1> shows the standard implementation of
+For reference C<Name_hash> in L</Example 1> shows the standard implementation of
a simple class C<Name> in the well-known hash based way. It also demonstrates
the predictable failure to construct a common subclass C<NamedFile>
of C<Name> and the class C<IO::File> (whose objects I<must> be globrefs).
hash for each field it wants to use. The reference address of an
object is used as the hash key. By definition, the reference address
is unique to each object so this guarantees a place for each field that
-is private to the class and unique to each object. See L<Name_id> in
-L<Example 1> for a simple example.
+is private to the class and unique to each object. See C<Name_id>
+in L</Example 1> for a simple example.
In comparison to the standard implementation where the object is a
hash and the fields correspond to hash keys, here the fields correspond
=item * C<Name_idhash>
-Idhash-based inside-out implementation. Like L<Name_id> it needs
+Idhash-based inside-out implementation. Like C<Name_id> it needs
a C<DESTROY> method and would need C<CLONE> for thread support.
=item * C<Name_id_reg>