diff options
author | Norbert Preining <norbert@preining.info> | 2022-04-04 03:14:42 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-04-04 03:14:42 +0000 |
commit | 7548e4d37c2aaefd32fe0a9bcd83f8e71326dde1 (patch) | |
tree | d335b608e63e9b3c37d7ba0e567c63e77250e171 /systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/av.h | |
parent | 506de1e2d3515161cdbc7018b4ccc9e49d7f86e8 (diff) |
CTAN sync 202204040314
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/av.h')
-rw-r--r-- | systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/av.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/av.h b/systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/av.h index 5e39c42ea1..41cb6fefd8 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/av.h +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/CORE/av.h @@ -37,22 +37,25 @@ struct xpvav { */ /* -=head1 Handy Values - =for apidoc ADmnU||Nullav Null AV pointer. (deprecated - use C<(AV *)NULL> instead) -=head1 Array Manipulation Functions +=for apidoc Am|SSize_t|AvFILL|AV* av +Same as C<L</av_top_index>> or C<L</av_tindex>>. + +=for apidoc Cm|SSize_t|AvFILLp|AV* av -=for apidoc Am|int|AvFILL|AV* av -Same as C<av_top_index()> or C<av_tindex()>. +If the array C<av> is empty, this returns -1; otherwise it returns the maximum +value of the indices of all the array elements which are currently defined in +C<av>. It does not handle magic, hence the C<p> private indication in its name. -=for apidoc av_tindex -Same as C<av_top_index()>. +=for apidoc Am|SV**|AvARRAY|AV* av +Returns a pointer to the AV's internal SV* array. -=for apidoc m|int|AvFILLp|AV* av +This is useful for doing pointer arithmetic on the array. +If all you need is to look up an array element, then prefer C<av_fetch>. =cut */ @@ -80,8 +83,9 @@ Same as C<av_top_index()>. #define AvREALISH(av) (SvFLAGS(av) & (SVpav_REAL|SVpav_REIFY)) #define AvFILL(av) ((SvRMAGICAL((const SV *) (av))) \ - ? mg_size(MUTABLE_SV(av)) : AvFILLp(av)) -#define av_tindex(av) av_top_index(av) + ? mg_size(MUTABLE_SV(av)) : AvFILLp(av)) +#define av_top_index(av) AvFILL(av) +#define av_tindex(av) av_top_index(av) /* Note that it doesn't make sense to do this: * SvGETMAGIC(av); IV x = av_tindex_nomg(av); |