Set::Object::Weak - Sets without the referant reference increment
use Set::Object::Weak qw(weak_set); my $set = Set::Object::Weak->new( 0, "", {}, [], $object ); # or my $set = weak_set( 0, "", {}, [], $object ); print $set->size; # 2 - the scalars aren't objects
Sets, but weak. See "weaken" in Set::Object.
Note that the set
in Set::Object::Weak
returns weak sets. This is intentional, so that you can make all the sets in scope weak just by changing use Set::Object
to use Set::Object::Weak
.
This class method is exactly the same as Set::Object->new
, except that it returns a weak set.
This optionally exported function is a shortcut for saying Set::Object::Weak->new(...)
.
This method is exported so that if you see:
use Set::Object qw(set);
You can turn it into using weak sets lexically with:
use Set::Object::Weak qw(set);
Set::Object 1.19 had a bug in this method that meant that it would not add the passed members into it.
Perl magic by Sam Vilain, <samv@cpan.org>
Idea from nothingmuch.