Scalar-Watcher

 view release on metacpan or  search on metacpan

Watcher.xs  view on Meta::CPAN

    }
}

MODULE = Scalar::Watcher		PACKAGE = Scalar::Watcher		

INCLUDE: const-xs.inc

void
when_modified(SV * target, SV * handler)
    PROTOTYPE: $&
    PPCODE:
        hook_watcher_magic(aTHX_ target, handler, &modified_vtbl);
        SPAGAIN;

void
when_destroyed(SV * target, SV * handler)
    PROTOTYPE: $&
    PPCODE:
        hook_watcher_magic(aTHX_ target, handler, &destroyed_vtbl);
        SPAGAIN;

fallback/const-xs.inc  view on Meta::CPAN

	dTARGET;
#endif
	STRLEN		len;
        int		type;
	/* IV		iv;	Uncomment this if you need to return IVs */
	/* NV		nv;	Uncomment this if you need to return NVs */
	/* const char	*pv;	Uncomment this if you need to return PVs */
    INPUT:
	SV *		sv;
        const char *	s = SvPV(sv, len);
    PPCODE:
	type = constant(aTHX_ s, len);
      /* Return 1 or 2 items. First is error message, or undef if no error.
           Second, if present, is found value */
        switch (type) {
        case PERL_constant_NOTFOUND:
          sv =
	    sv_2mortal(newSVpvf("%s is not a valid Scalar::Watcher macro", s));
          PUSHs(sv);
          break;
        case PERL_constant_NOTDEF:



( run in 0.939 second using v1.01-cache-2.11-cpan-5511b514fd6 )