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".
- new
- This class method is exactly the same as
"Set::Object->new", except that it
returns a weak set.
- weak_set( ... )
- This optionally exported function is a shortcut for saying
"Set::Object::Weak->new(...)".
- set( ... )
- 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.