Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) Standard preamble: ========================================================================
NAMEExtUtils::Typemaps::OutputMap - Entry in the OUTPUT section of a typemap
use ExtUtils::Typemaps; ... my $output = $typemap->get_output_map('T_NV'); my $code = $output->code(); $output->code("...");
DESCRIPTIONRefer to ExtUtils::Typemaps for details.
newRequires "xstype" and "code" parameters.
codeReturns or sets the
xstypeReturns the name of the
cleaned_codeReturns a cleaned-up copy of the code to which certain transformations have been applied to make it more
targetableThis is an obscure but effective optimization that used to live in "ExtUtils::ParseXS" directly. Not implementing it should never result in incorrect use of typemaps, just less efficient code.
In a nutshell, this will check whether the output code involves calling "sv_setiv", "sv_setuv", "sv_setnv", "sv_setpv" or "sv_setpvn" to set the special $arg placeholder to a new value
If this optimization is applicable, "ExtUtils::ParseXS" will emit a "dXSTARG;" definition at the start of the generated
If the optimization can not be applied, this returns undef. If it can be applied, this method returns a hash reference containing the following information:
type: Any of the characters i, u, n, p with_size: Bool indicating whether this is the sv_setpvn variant what: The code that actually evaluates to the output scalar what_size: If "with_size", this has the string length (as code, not constant, including leading comma)
AUTHORSteffen Mueller "<email@example.com">
COPYRIGHT & LICENSECopyright 2009, 2010, 2011, 2012 Steffen Mueller
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.