# "perlobject.map" Crazy Panda
TYPEMAP
AVO EO_AVREF
HVO EO_HVREF
AVR ET_AVREF
HVR ET_HVREF
int64_t T_IV
int32_t T_IV
int16_t T_IV
int8_t T_IV
uint64_t T_UV
uint32_t T_UV
uint16_t T_UV
uint8_t T_UV
######################################################################
OUTPUT
EO_AVREF
$arg = sv_bless( newRV_noinc((SV*)$var), gv_stashpv(CLASS,1) );
EO_HVREF
$arg = sv_bless( newRV_noinc((SV*)$var), gv_stashpv(CLASS,1) );
EO_OBJECT
sv_setref_pv( $arg, CLASS, (void*)$var );
ET_AVREF
$arg = newRV_noinc((SV*)$var);
ET_HVREF
$arg = newRV_noinc((SV*)$var);
ET_OBJECT
sv_setref_pv( $arg, Nullch, (void*)$var );
######################################################################
INPUT
EO_AVREF
if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVAV) )
$var = (AV*)SvRV( $arg );
else {
warn( \"${Package}::$func_name() -- $var is not a blessed AV reference\" );
XSRETURN_UNDEF;
}
EO_HVREF
if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVHV) )
$var = (HV*)SvRV( $arg );
else {
warn( \"${Package}::$func_name() -- $var is not a blessed HV reference\" );
XSRETURN_UNDEF;
}
EO_OBJECT
if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
$var = ($type)SvIV((SV*)SvRV( $arg ));
else{
warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
XSRETURN_UNDEF;
}
ET_AVREF
if( SvROK($arg) && (SvTYPE(SvRV($arg)) == SVt_PVAV) )
$var = (AV*)SvRV( $arg );
else {
warn( \"${Package}::$func_name() -- $var is not an AV reference\" );
XSRETURN_UNDEF;
}
ET_HVREF
if( SvROK($arg) && (SvTYPE(SvRV($arg)) == SVt_PVHV) )
$var = (HV*)SvRV( $arg );
else {
warn( \"${Package}::$func_name() -- $var is not an HV reference\" );
XSRETURN_UNDEF;
}
ET_OBJECT
if( SvROK($arg) )
$var = ($type)SvIV((SV*)SvRV( $arg ));
else{
warn( \"${Package}::$func_name() -- $var is not an SV reference\" );
XSRETURN_UNDEF;
}