view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
src/ppport.h view on Meta::CPAN
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
src/ppport.h view on Meta::CPAN
sv_release_COW|||
sv_release_IVX|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_resetpvn|||
sv_reset|||
sv_rvweaken||5.006000|
sv_sethek|||
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
view all matches for this distribution
view release on metacpan or search on metacpan
sv_release_COW|||
sv_release_IVX|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.006000||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.006000||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_ref||5.015004|
sv_replace|||
sv_report_used|||
sv_resetpvn|||
sv_reset|||
sv_rvweaken||5.006000|
sv_sethek|||
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
view all matches for this distribution
view release on metacpan or search on metacpan
sv_ref||5.015004|
sv_replace|||
sv_report_used|||
sv_resetpvn|||
sv_reset|||
sv_rvweaken||5.006000|
sv_sethek|||
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Geo/Region.pm view on Meta::CPAN
package Geo::Region;
use v5.8.1;
use utf8;
use Carp qw( carp );
use Scalar::Util qw( looks_like_number weaken );
use List::Util qw( all any );
use Moo;
our $VERSION = '0.07';
lib/Geo/Region.pm view on Meta::CPAN
my %children = map { $_ => 1 }
grep { !exists $excludes{$_} }
$build_children->(@{$self->_includes});
weaken $build_children;
return \%children;
},
);
has _parents => (
lib/Geo/Region.pm view on Meta::CPAN
my %parents = map { $_ => 1 }
grep { ++$count{$_} == @regions }
$build_parents->(@regions);
weaken $build_parents;
return \%parents;
},
);
has _countries => (
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Geo/ShapeFile.pm view on Meta::CPAN
use Carp;
use IO::File;
use Geo::ShapeFile::Shape;
use Config;
use List::Util qw /min max/;
use Scalar::Util qw/weaken/;
use Tree::R;
use constant ON_WINDOWS => ($^O eq 'MSWin32');
use if ON_WINDOWS, 'Win32::LongPath';
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Spiffy.pm view on Meta::CPAN
" return \$_[0]->{%s} = do { my \$self = \$_[0]; %s }\n" .
" unless \$#_ > 0 or defined \$_[0]->{%s};\n",
weak_init =>
" return do {\n" .
" \$_[0]->{%s} = do { my \$self = \$_[0]; %s };\n" .
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n" .
" \$_[0]->{%s};\n" .
" } unless \$#_ > 0 or defined \$_[0]->{%s};\n",
return_if_get =>
" return \$_[0]->{%s} unless \$#_ > 0;\n",
set =>
" \$_[0]->{%s} = \$_[1];\n",
weaken =>
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n",
sub_end =>
" return \$_[0]->{%s};\n}\n",
);
sub field {
inc/Spiffy.pm view on Meta::CPAN
local *paired_arguments = sub { (qw(-package -init)) };
Spiffy->parse_arguments(@_);
};
my ($field, $default) = @values;
$package = $args->{-package} if defined $args->{-package};
die "Cannot have a default for a weakened field ($field)"
if defined $default && $args->{-weak};
return if defined &{"${package}::$field"};
require Scalar::Util if $args->{-weak};
my $default_string =
( ref($default) eq 'ARRAY' and not @$default )
inc/Spiffy.pm view on Meta::CPAN
}
$code .= sprintf $code{set_default}, $field, $default_string, $field
if defined $default;
$code .= sprintf $code{return_if_get}, $field;
$code .= sprintf $code{set}, $field;
$code .= sprintf $code{weaken}, $field, $field
if $args->{-weak};
$code .= sprintf $code{sub_end}, $field;
my $sub = eval $code;
die $@ if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gerrit/Client.pm view on Meta::CPAN
use File::Spec::Functions;
use File::Temp;
use File::chdir;
use JSON;
use Params::Validate qw(:all);
use Scalar::Util qw(weaken);
use URI;
use URI::Escape;
use base 'Exporter';
our @EXPORT_OK = qw(
lib/Gerrit/Client.pm view on Meta::CPAN
if ( defined wantarray ) {
$out->{guard} = guard {
$cleanup->($stash);
};
$out_weak = $out;
weaken($out_weak);
}
else {
$out_weak = $out;
}
return $out;
lib/Gerrit/Client.pm view on Meta::CPAN
require "Gerrit/Client/ForEach.pm";
my $self = bless {}, 'Gerrit::Client::ForEach';
$self->{args} = \%args;
my $weakself = $self;
weaken($weakself);
# stream_events takes care of incoming changes, perform a query to find
# existing changes
my $do_query = sub {
return unless $args{query};
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Getopt/LL/DLList/Node.pm view on Meta::CPAN
# $Date: 2007/07/13 00:00:15 $
package Getopt::LL::DLList::Node;
use strict;
use warnings;
use Carp;
use Scalar::Util qw( weaken );
use version; our $VERSION = qv('1.0.0');
use 5.006_001;
{
use vars qw($ALLOCATED_TOTAL);
lib/Getopt/LL/DLList/Node.pm view on Meta::CPAN
sub free {
my ($self) = @_;
my $next = $self->next;
my $prev = $self->prev;
weaken $next;
weaken $prev;
undef $self->{next};
undef $self->{prev};
undef $self->{data};
# Class::Dot 1.0 weirdness.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Getopt/Long/Descriptive/Opts.pm view on Meta::CPAN
use strict;
use warnings;
package Getopt::Long::Descriptive::Opts 0.116;
# ABSTRACT: object representing command line switches
use Scalar::Util qw(blessed weaken);
#pod =head1 DESCRIPTION
#pod
#pod This class is the base class of all C<$opt> objects returned by
#pod L<Getopt::Long::Descriptive>. In general, you do not want to think about this
lib/Getopt/Long/Descriptive/Opts.pm view on Meta::CPAN
@opts{ @keys } = @$self{ @keys };
$meta->{specified_opts} = \%opts;
bless $meta->{specified_opts} => $class;
weaken $meta->{specified_opts};
$meta->{specified_opts};
}
#pod =head2 _complete_opts
lib/Getopt/Long/Descriptive/Opts.pm view on Meta::CPAN
delete $copy->{$_} for grep { ! defined $copy->{$_} } keys %$copy;
my $self = bless $copy => $new_class;
$_CREATED_OPTS{ $new_class }{meta}{complete_opts} = $self;
# weaken $_CREATED_OPTS{ $new_class }{meta}{complete_opts};
return $self;
}
1;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gimp/gppport.h view on Meta::CPAN
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_resetpvn|||
sv_reset|||
sv_rvweaken||5.006000|
sv_sethek|||
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
view all matches for this distribution
view release on metacpan or search on metacpan
0.46_01 Sat 16 Jan 13:42:00 GMT 2010
- Add support for ssh:// and file:// protocols (Alex Vandiver)
0.46 Tue 12 Jan 01:09:00 GMT 2010
- Add config file handling via Config::GitLike
- Fix a couple of memory leaks due to unweakened circular references.
- Handle commit object character encoding correctly
0.45 Mon 21st Dec 12:36:29 GMT 2009
- Be Win32 compatible (RT#52677), patch contributed by kmx.
view all matches for this distribution
view release on metacpan or search on metacpan
sv_ref||5.015004|
sv_replace|||
sv_report_used|||
sv_resetpvn|||
sv_reset|||
sv_rvweaken||5.006000|
sv_sethek|||
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
view all matches for this distribution
view release on metacpan or search on metacpan
xs/ppport.h view on Meta::CPAN
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
devel/container.pm view on Meta::CPAN
sub new {
$emission_hook_id ||= Gtk2::Widget->signal_add_emission_hook
(parent_set => \&_do_parent_set);
my $self = shift->SUPER::new(@_);
Scalar::Util::weaken
($self->{'object'}->{'Glib_Ex_ConnectProperties_container'}->{$self+0} = $self);
return $self;
}
sub DESTROY {
view all matches for this distribution
view release on metacpan or search on metacpan
devel/SignalHookIds.pm view on Meta::CPAN
# validate the first arg now
(Scalar::Util::blessed($object) && $object->isa('Glib::Object'))
or croak 'Glib::Ex::SignalHookIds->new(): first param must be the target object';
my $self = bless [ $object ], $class;
Scalar::Util::weaken ($self->[0]);
$self->add (@ids);
return $self;
}
sub add {
my ($self, @ids) = @_;
devel/SignalHookIds.pm view on Meta::CPAN
}
The C<$model &&> part allows C<undef> for no model, in which case the
C<model_ids> becomes undef. Either way any previous SignalHookIds object in
C<model_ids> is discarded and it disconnects the previous model. (Note in
the signal user data you won't want C<$self> but something weakened, to
avoid a circular reference, the same as with all signal connections.)
The key to this kind of usage is that the target object may change and you
want a convenient way to connect to the new and disconnect from the old. If
however a sub-object or sub-widget belongs exclusively to you, never
devel/SignalHookIds.pm view on Meta::CPAN
=head2 Weakening
SignalHookIds keeps only a weak reference to the target object, letting whoever
or whatever has connected the IDs manage the target lifetime. In particular
this weakening means a SignalHookIds object can be kept in the instance data of
the target object itself without creating a circular reference.
If the target object is destroyed then all its signals are disconnected.
SignalHookIds knows no explicit disconnects are needed in that case. SignalHookIds
also knows some forms of weakening and Perl's "global destruction" stage can
give slightly odd situations where the target object has disconnected its
signals but Perl hasn't yet zapped references to the object. SignalHookIds
therefore checks whether its IDs are still connected before disconnecting,
to avoid warnings from Glib.
devel/SignalHookIds.pm view on Meta::CPAN
$obj->signal_connect_after (bar => \&do_bar));
=item C<< $sigids->object() >>
Return the object held in C<$sigids>, or C<undef> if it's been destroyed
(zapped by weakening).
=item C<< $sigids->disconnect() >>
Disconnect the signal IDs held in C<$sigids>, if not already disconnected.
This is done automatically when C<$sigids> is garbage collected, but you can
view all matches for this distribution
view release on metacpan or search on metacpan
BEGIN { require './t/inc/setup.pl' };
use strict;
use warnings;
use Scalar::Util qw/weaken/;
plan tests => 47;
# Use the provided constructor.
{
isa_ok ($boxed, 'GI::BoxedStruct');
is ($boxed->long_, 0);
is ($boxed->g_strv, undef);
is ($boxed->long_ (42), 0);
$boxed->inv;
weaken $boxed;
is ($boxed, undef);
}
# Use our generic constructor.
{
my $boxed = GI::BoxedStruct::returnv ();
isa_ok ($boxed, 'GI::BoxedStruct');
is ($boxed->long_, 42);
is_deeply ($boxed->g_strv, [qw/0 1 2/]);
$boxed->inv;
weaken $boxed;
is ($boxed, undef);
# make sure we haven't destroyed the static object
isa_ok (GI::BoxedStruct::returnv (), 'GI::BoxedStruct');
isa_ok (GI::BoxedStruct::returnv ()->copy, 'GI::BoxedStruct');
}
unless check_gi_version (0, 12, 0);
my $boxed = GI::BoxedStruct::out ();
isa_ok ($boxed, 'GI::BoxedStruct');
is ($boxed->long_, 42);
# $boxed->g_strv contains garbage
weaken $boxed;
is ($boxed, undef);
# make sure we haven't destroyed the static object
isa_ok (GI::BoxedStruct::out (), 'GI::BoxedStruct');
isa_ok (GI::BoxedStruct::out ()->copy, 'GI::BoxedStruct');
}
my $boxed = GI::BoxedStruct::inout ($boxed_out);
isa_ok ($boxed, 'GI::BoxedStruct');
is ($boxed->long_, 0);
is ($boxed_out->long_, 42);
# $boxed->g_strv contains garbage
weaken $boxed;
is ($boxed, undef);
}
# --------------------------------------------------------------------------- #
my $boxed = Regress::TestSimpleBoxedA::const_return ();
isa_ok ($boxed, 'Regress::TestSimpleBoxedA');
isa_ok ($boxed, 'Glib::Boxed');
my $copy = $boxed->copy;
ok ($boxed->equals ($copy));
weaken $boxed;
is ($boxed, undef);
weaken $copy;
is ($copy, undef);
}
{
my $boxed = Regress::TestBoxed->new;
isa_ok ($boxed, 'Glib::Boxed');
my $copy = $boxed->copy;
isa_ok ($boxed, 'Regress::TestBoxed');
isa_ok ($boxed, 'Glib::Boxed');
ok ($boxed->equals ($copy));
weaken $boxed;
is ($boxed, undef);
weaken $copy;
is ($copy, undef);
$boxed = Regress::TestBoxed->new_alternative_constructor1 (23);
isa_ok ($boxed, 'Regress::TestBoxed');
isa_ok ($boxed, 'Glib::Boxed');
weaken $boxed;
is ($boxed, undef);
$boxed = Regress::TestBoxed->new_alternative_constructor2 (23, 42);
isa_ok ($boxed, 'Regress::TestBoxed');
isa_ok ($boxed, 'Glib::Boxed');
weaken $boxed;
is ($boxed, undef);
$boxed = Regress::TestBoxed->new_alternative_constructor3 ("perl");
isa_ok ($boxed, 'Regress::TestBoxed');
isa_ok ($boxed, 'Glib::Boxed');
weaken $boxed;
is ($boxed, undef);
}
view all matches for this distribution
view release on metacpan or search on metacpan
my $sigid = $my->signal_connect ('nosuchsignal' => $subr);
Glib::Log->remove_handler ('GLib-GObject', $logid);
ok(! $sigid, 34, "'nosuchsignal' not connected");
require Scalar::Util;
Scalar::Util::weaken ($subr);
ok(! defined $subr, 35, "subr gc'ed after bad signal name");
}
}
pass(36);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Global/IPC/ppport.h view on Meta::CPAN
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Global/ppport.h view on Meta::CPAN
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
use warnings;
use utf8;
use Env;
use POSIX qw/:fcntl_h/;
use Scalar::Util qw/weaken/;
use Test::Most;
use FFI::Platypus;
use FFI::Platypus::Buffer;
use FFI::Platypus::Memory qw/strdup calloc free/;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gnuplot/Builder/Dataset.pm view on Meta::CPAN
package Gnuplot::Builder::Dataset;
use strict;
use warnings;
use Gnuplot::Builder::PrototypedData;
use Scalar::Util qw(weaken blessed);
use Carp;
use overload '""' => 'to_string';
sub new {
my ($class, $source, @set_option_args) = @_;
lib/Gnuplot/Builder/Dataset.pm view on Meta::CPAN
return $class->new->set_file('-')->set_data($data_provider)->set_option(@set_option_args);
}
sub _init_pdata {
my ($self) = @_;
weaken $self;
$self->{pdata} = Gnuplot::Builder::PrototypedData->new(
entry_evaluator => sub {
my ($key, $coderef) = @_;
return $coderef->($self, $key);
},
view all matches for this distribution
view release on metacpan or search on metacpan
sv_release_COW|||
sv_release_IVX|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.006000||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.006000||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
src/ppport.h view on Meta::CPAN
SvROK_off|5.003007|5.003007|
SvROK_on|5.003007|5.003007|
SvRV|5.003007|5.003007|
SvRV_const|5.010001||Viu
SvRV_set|5.009003|5.003007|p
sv_rvunweaken|5.027004|5.027004|
sv_rvweaken|5.006000|5.006000|
SvRVx|5.003007||Viu
SvRX|5.009005|5.003007|p
SvRXOK|5.009005|5.003007|p
SV_SAVED_COPY|5.009005||Viu
SvSCREAM|5.003007||Viu
view all matches for this distribution