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.
Set::Object
Perl magic by Sam Vilain, <[email protected]>
Idea from nothingmuch.