Returns the SV at the specified index in the array. The <CODE>key</CODE> is the
index. If <CODE>lval</CODE> is set then the fetch will be part of a store. Check
that the return value is non-null before dereferencing it to a <CODE>SV*</CODE>.
<P>See <A HREF="../../lib/Pod/perlguts.html#understanding the magic of tied hashes and arrays">Understanding the Magic of Tied Hashes and Arrays in the perlguts manpage</A> for
more information on how to use this function on tied arrays.</P>
Stores an SV in an array. The array index is specified as <CODE>key</CODE>. The
return value will be NULL if the operation failed or if the value did not
need to be actually stored within the array (as in the case of tied
arrays). Otherwise it can be dereferenced to get the original <CODE>SV*</CODE>. Note
that the caller is responsible for suitably incrementing the reference
count of <CODE>val</CODE> before the call, and decrementing it if the function
returned NULL.
<P>See <A HREF="../../lib/Pod/perlguts.html#understanding the magic of tied hashes and arrays">Understanding the Magic of Tied Hashes and Arrays in the perlguts manpage</A> for
more information on how to use this function on tied arrays.</P>
A backward-compatible version of <A HREF="#item_GIMME_V"><CODE>GIMME_V</CODE></A> which can only return
<A HREF="#item_G_SCALAR"><CODE>G_SCALAR</CODE></A> or <A HREF="#item_G_ARRAY"><CODE>G_ARRAY</CODE></A>; in a void context, it returns <A HREF="#item_G_SCALAR"><CODE>G_SCALAR</CODE></A>.
Deprecated. Use <A HREF="#item_GIMME_V"><CODE>GIMME_V</CODE></A> instead.
The XSUB-writer's equivalent to Perl's <A HREF="../../lib/Pod/perlfunc.html#item_wantarray"><CODE>wantarray</CODE></A>. Returns <A HREF="#item_G_VOID"><CODE>G_VOID</CODE></A>,
<A HREF="#item_G_SCALAR"><CODE>G_SCALAR</CODE></A> or <A HREF="#item_G_ARRAY"><CODE>G_ARRAY</CODE></A> for void, scalar or array context,
Returns the glob which contains the subroutine to call to invoke the method
on the <CODE>stash</CODE>. In fact in the presence of autoloading this may be the
glob for ``AUTOLOAD''. In this case the corresponding variable $AUTOLOAD is
already setup.
<P>The third parameter of <A HREF="#item_gv_fetchmethod_autoload"><CODE>gv_fetchmethod_autoload</CODE></A> determines whether
AUTOLOAD lookup is performed if the given method is not present: non-zero
means yes, look for AUTOLOAD; zero means no, don't look for AUTOLOAD.
Calling <A HREF="#item_gv_fetchmethod"><CODE>gv_fetchmethod</CODE></A> is equivalent to calling <A HREF="#item_gv_fetchmethod_autoload"><CODE>gv_fetchmethod_autoload</CODE></A>
with a non-zero <CODE>autoload</CODE> parameter.</P>
<P>These functions grant <CODE>"SUPER"</CODE> token as a prefix of the method name. Note
that if you want to keep the returned glob for a long time, you need to
check for it being ``AUTOLOAD'', since at the later time the call may load a
different subroutine due to $AUTOLOAD changing its value. Use the glob
created via a side effect to do this.</P>
<P>These functions have the same side-effects and as <A HREF="#item_gv_fetchmeth"><CODE>gv_fetchmeth</CODE></A> with
<CODE>level==0</CODE>. <CODE>name</CODE> should be writable if contains <CODE>':'</CODE> or <CODE>'
''</CODE>. The warning against passing the GV returned by <A HREF="#item_gv_fetchmeth"><CODE>gv_fetchmeth</CODE></A> to
<A HREF="#item_call_sv"><CODE>call_sv</CODE></A> apply equally to these functions.</P>
Used to indicate void context. See <A HREF="#item_GIMME_V"><CODE>GIMME_V</CODE></A> and <A HREF="../../lib/Pod/perlcall.html">the perlcall manpage</A>.
Returns the actual pointer stored in the key slot of the hash entry. The
pointer may be either <CODE>char*</CODE> or <CODE>SV*</CODE>, depending on the value of
<A HREF="#item_HeKLEN"><CODE>HeKLEN()</CODE></A>. Can be assigned to. The <A HREF="#item_HePV"><CODE>HePV()</CODE></A> or <A HREF="#item_HeSVKEY"><CODE>HeSVKEY()</CODE></A> macros are
usually preferable for finding the value of a key.
Returns the SV which corresponds to the specified key in the hash. The
<CODE>klen</CODE> is the length of the key. If <CODE>lval</CODE> is set then the fetch will be
part of a store. Check that the return value is non-null before
dereferencing it to a <CODE>SV*</CODE>.
<P>See <A HREF="../../lib/Pod/perlguts.html#understanding the magic of tied hashes and arrays">Understanding the Magic of Tied Hashes and Arrays in the perlguts manpage</A> for more
information on how to use this function on tied hashes.</P>
Returns the hash entry which corresponds to the specified key in the hash.
<CODE>hash</CODE> must be a valid precomputed hash number for the given <CODE>key</CODE>, or 0
if you want the function to compute it. IF <CODE>lval</CODE> is set then the fetch
will be part of a store. Make sure the return value is non-null before
accessing it. The return value when <CODE>tb</CODE> is a tied hash is a pointer to a
static location, so be sure to make a copy of the structure if you need to
store it somewhere.
<P>See <A HREF="../../lib/Pod/perlguts.html#understanding the magic of tied hashes and arrays">Understanding the Magic of Tied Hashes and Arrays in the perlguts manpage</A> for more
information on how to use this function on tied hashes.</P>
Performs an <A HREF="#item_hv_iternext"><CODE>hv_iternext</CODE></A>, <A HREF="#item_hv_iterkey"><CODE>hv_iterkey</CODE></A>, and <A HREF="#item_hv_iterval"><CODE>hv_iterval</CODE></A> in one
Stores an SV in a hash. The hash key is specified as <CODE>key</CODE> and <CODE>klen</CODE> is
the length of the key. The <CODE>hash</CODE> parameter is the precomputed hash
value; if it is zero then Perl will compute it. The return value will be
NULL if the operation failed or if the value did not need to be actually
stored within the hash (as in the case of tied hashes). Otherwise it can
be dereferenced to get the original <CODE>SV*</CODE>. Note that the caller is
responsible for suitably incrementing the reference count of <CODE>val</CODE> before
the call, and decrementing it if the function returned NULL.
<P>See <A HREF="../../lib/Pod/perlguts.html#understanding the magic of tied hashes and arrays">Understanding the Magic of Tied Hashes and Arrays in the perlguts manpage</A> for more
information on how to use this function on tied hashes.</P>
Stores <CODE>val</CODE> in a hash. The hash key is specified as <CODE>key</CODE>. The <CODE>hash</CODE>
parameter is the precomputed hash value; if it is zero then Perl will
compute it. The return value is the new hash entry so created. It will be
NULL if the operation failed or if the value did not need to be actually
stored within the hash (as in the case of tied hashes). Otherwise the
contents of the return value can be accessed using the <CODE>He???</CODE> macros
described here. Note that the caller is responsible for suitably
incrementing the reference count of <CODE>val</CODE> before the call, and
decrementing it if the function returned NULL.
<P>See <A HREF="../../lib/Pod/perlguts.html#understanding the magic of tied hashes and arrays">Understanding the Magic of Tied Hashes and Arrays in the perlguts manpage</A> for more
information on how to use this function on tied hashes.</P>