exists $instance->{$slot_name} ? 1 : 0;
}
+sub set_slot_value_weak {
+ my ($self, $instance, $slot_name, $value) = @_;
+ $self->set_slot_value($instance, $slot_name, $value);
+ $self->weaken_slot_value($instance, $slot_name);
+}
+
+sub weaken_slot_value {
+ my ($self, $instance, $slot_name) = @_;
+ weaken $instance->{$slot_name};
+}
+
+sub strengthen_slot_value {
+ my ($self, $instance, $slot_name) = @_;
+ $self->set_slot_value($instance, $slot_name, $self->get_slot_value($instance, $slot_name));
+}
+
1;
__END__
=item B<is_slot_initialized ($instance_structure, $slot_name)>
+=item B<set_slot_value_weak ($instance_structure, $slot_name, $ref_value)>
+
+=item B<weaken_slot_value>
+
+=item B<strengthen_slot_value>
+
=back
=head1 AUTHOR
it under the same terms as Perl itself.
=cut
+