TYPEMAP
TL_SMIME    T_PTROBJ_SPECIAL


INPUT
T_PTROBJ_SPECIAL
    /* タイプ名のアンダースコアを::に変えたパッケージ名にblessされているのでなければcroak  */
    if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")) {
        IV tmp = SvIV((SV*)SvRV($arg));
        $var = ($type) tmp;
    }
    else {
        croak(\"$var is not of type ${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\");
    }


OUTPUT
T_PTROBJ_SPECIAL
    sv_setref_pv(
        $arg,
        \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\",
        (void*)$var);
