diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CORE/hv.h')
-rw-r--r-- | Master/tlpkg/tlperl/lib/CORE/hv.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/Master/tlpkg/tlperl/lib/CORE/hv.h b/Master/tlpkg/tlperl/lib/CORE/hv.h index 9533af58f2a..b97b22425e9 100644 --- a/Master/tlpkg/tlperl/lib/CORE/hv.h +++ b/Master/tlpkg/tlperl/lib/CORE/hv.h @@ -82,6 +82,7 @@ struct mro_meta { const struct mro_alg *mro_which; /* which mro alg is in use? */ HV *isa; /* Everything this class @ISA */ HV *super; /* SUPER method cache */ + CV *destroy; /* DESTROY method if destroy_gen non-zero */ U32 destroy_gen; /* Generation number of DESTROY cache */ }; @@ -152,14 +153,14 @@ Null HV pointer. =head1 Hash Manipulation Functions =for apidoc Am|char*|HvNAME|HV* stash -Returns the package name of a stash, or NULL if C<stash> isn't a stash. -See C<SvSTASH>, C<CvSTASH>. +Returns the package name of a stash, or C<NULL> if C<stash> isn't a stash. +See C<L</SvSTASH>>, C<L</CvSTASH>>. =for apidoc Am|STRLEN|HvNAMELEN|HV *stash Returns the length of the stash's name. =for apidoc Am|unsigned char|HvNAMEUTF8|HV *stash -Returns true if the name is in UTF8 encoding. +Returns true if the name is in UTF-8 encoding. =for apidoc Am|char*|HvENAME|HV* stash Returns the effective name of a stash, or NULL if there is none. The @@ -173,7 +174,7 @@ caches. Returns the length of the stash's effective name. =for apidoc Am|unsigned char|HvENAMEUTF8|HV *stash -Returns true if the effective name is in UTF8 encoding. +Returns true if the effective name is in UTF-8 encoding. =for apidoc Am|void*|HeKEY|HE* he Returns the actual pointer stored in the key slot of the hash entry. The @@ -208,7 +209,7 @@ variable C<PL_na>, though this is rather less efficient than using a local variable. Remember though, that hash keys in perl are free to contain embedded nulls, so using C<strlen()> or similar is not a good way to find the length of hash keys. This is very similar to the C<SvPV()> macro -described elsewhere in this document. See also C<HeUTF8>. +described elsewhere in this document. See also C<L</HeUTF8>>. If you are using C<HePV> to get values to pass to C<newSVpvn()> to create a new SV, you should consider using C<newSVhek(HeKEY_hek(he))> as it is more @@ -402,7 +403,8 @@ C<SV*>. #define HVhek_UTF8 0x01 /* Key is utf8 encoded. */ #define HVhek_WASUTF8 0x02 /* Key is bytes here, but was supplied as utf8. */ #define HVhek_UNSHARED 0x08 /* This key isn't a shared hash key. */ -#define HVhek_FREEKEY 0x100 /* Internal flag to say key is malloc()ed. */ +/* the following flags are options for functions, they are not stored in heks */ +#define HVhek_FREEKEY 0x100 /* Internal flag to say key is Newx()ed. */ #define HVhek_PLACEHOLD 0x200 /* Internal flag to create placeholder. * (may change, but Storable is a core module) */ #define HVhek_KEYCANONICAL 0x400 /* Internal flag - key is in canonical form. @@ -543,8 +545,8 @@ struct refcounted_he { /* =for apidoc m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|const char *key|U32 flags -Like L</refcounted_he_fetch_pvn>, but takes a literal string instead of -a string/length pair, and no precomputed hash. +Like L</refcounted_he_fetch_pvn>, but takes a C<NUL>-terminated literal string +instead of a string/length pair, and no precomputed hash. =cut */ @@ -555,8 +557,8 @@ a string/length pair, and no precomputed hash. /* =for apidoc m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|const char *key|SV *value|U32 flags -Like L</refcounted_he_new_pvn>, but takes a literal string instead of -a string/length pair, and no precomputed hash. +Like L</refcounted_he_new_pvn>, but takes a C<NUL>-terminated literal string +instead of a string/length pair, and no precomputed hash. =cut */ |