=item FLAGS
+=item object_2svref
+
+Returns a reference to the regular scalar corresponding to this
+B::SV object. In other words, this method is the inverse operation
+to the svref_2object() subroutine. This scalar and other data it points
+at should be considered read-only: modifying them is neither safe nor
+guaranteed to have a sensible effect.
+
=back
=head2 B::IV Methods
=item ARRAY
+=item ARRAYelt
+
+Like C<ARRAY>, but takes an index as an argument to get only one element,
+rather than a list of all of them.
+
=item AvFLAGS
=back
SvTYPE(sv)
B::SV sv
+#define object_2svref(sv) sv
+#define SVREF SV *
+
+SVREF
+object_2svref(sv)
+ B::SV sv
+
MODULE = B PACKAGE = B::SV PREFIX = Sv
U32
XPUSHs(make_sv_object(aTHX_ sv_newmortal(), svp[i]));
}
+void
+AvARRAYelt(av, idx)
+ B::AV av
+ int idx
+ PPCODE:
+ if (idx >= 0 && AvFILL(av) >= 0 && idx <= AvFILL(av))
+ XPUSHs(make_sv_object(aTHX_ sv_newmortal(), (AvARRAY(av)[idx])));
+ else
+ XPUSHs(make_sv_object(aTHX_ sv_newmortal(), NULL));
+
+
MODULE = B PACKAGE = B::AV
U8
CVf_CLONE CVf_CLONED CVf_ANON CVf_OLDSTYLE
CVf_UNIQUE CVf_NODEBUG CVf_METHOD CVf_LOCKED
CVf_LVALUE CVf_CONST CVf_WEAKOUTSIDE CVf_ASSERTION
- SVpad_OUR SVf_FAKE SVf_IOK SVf_IVisUV SVf_NOK SVf_POK
- SVf_ROK SVp_IOK SVp_POK SVp_NOK SVt_PVGV SVt_PVHV SVs_RMG
+ SVpad_OUR SVf_FAKE SVf_IVisUV
+ SVf_IOK SVf_NOK SVf_POK SVf_ROK
+ SVp_IOK SVp_NOK SVp_POK
+ SVt_PVGV SVt_PVHV
+ SVs_RMG SVs_SMG
))
{
doconst($const);