亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hv.h

?? MSYS在windows下模擬了一個類unix的終端
?? H
字號:
/*    hv.h * *    Copyright (c) 1991-2001, Larry Wall * *    You may distribute under the terms of either the GNU General Public *    License or the Artistic License, as specified in the README file. * *//* typedefs to eliminate some typing */typedef struct he HE;typedef struct hek HEK;/* entry in hash value chain */struct he {    HE		*hent_next;	/* next entry in chain */    HEK		*hent_hek;	/* hash key */    SV		*hent_val;	/* scalar value that was hashed */};/* hash key -- defined separately for use as shared pointer */struct hek {    U32		hek_hash;	/* hash of key */    I32		hek_len;	/* length of hash key */    char	hek_key[1];	/* variable-length hash key */};/* hash structure: *//* This structure must match the beginning of struct xpvmg in sv.h. */struct xpvhv {    char *	xhv_array;	/* pointer to malloced string */    STRLEN	xhv_fill;	/* how full xhv_array currently is */    STRLEN	xhv_max;	/* subscript of last element of xhv_array */    IV		xhv_keys;	/* how many elements in the array */    NV		xnv_nv;		/* numeric value, if any */    MAGIC*	xmg_magic;	/* magic for scalar array */    HV*		xmg_stash;	/* class package */    I32		xhv_riter;	/* current root of iterator */    HE		*xhv_eiter;	/* current entry of iterator */    PMOP	*xhv_pmroot;	/* list of pm's for this package */    char	*xhv_name;	/* name, if a symbol table */};/* hash a key */#define PERL_HASH(hash,str,len) \     STMT_START	{ \	register const char *s_PeRlHaSh = str; \	register I32 i_PeRlHaSh = len; \	register U32 hash_PeRlHaSh = 0; \	while (i_PeRlHaSh--) \	    hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \	(hash) = hash_PeRlHaSh + (hash_PeRlHaSh>>5); \    } STMT_END/*=for apidoc AmU||HEf_SVKEYThis flag, used in the length slot of hash entries and magic structures,specifies the structure contains a C<SV*> pointer where a C<char*> pointeris to be expected. (For information only--not to be used).=for apidoc AmU||NullhvNull HV pointer.=for apidoc Am|char*|HvNAME|HV* stashReturns the package name of a stash.  See C<SvSTASH>, C<CvSTASH>.=for apidoc Am|void*|HeKEY|HE* heReturns the actual pointer stored in the key slot of the hash entry. Thepointer may be either C<char*> or C<SV*>, depending on the value ofC<HeKLEN()>.  Can be assigned to.  The C<HePV()> or C<HeSVKEY()> macros areusually preferable for finding the value of a key.=for apidoc Am|STRLEN|HeKLEN|HE* heIf this is negative, and amounts to C<HEf_SVKEY>, it indicates the entryholds an C<SV*> key.  Otherwise, holds the actual length of the key.  Canbe assigned to. The C<HePV()> macro is usually preferable for finding keylengths.=for apidoc Am|SV*|HeVAL|HE* heReturns the value slot (type C<SV*>) stored in the hash entry.=for apidoc Am|U32|HeHASH|HE* heReturns the computed hash stored in the hash entry.=for apidoc Am|char*|HePV|HE* he|STRLEN lenReturns the key slot of the hash entry as a C<char*> value, doing anynecessary dereferencing of possibly C<SV*> keys.  The length of the stringis placed in C<len> (this is a macro, so do I<not> use C<&len>).  If you donot care about what the length of the key is, you may use the globalvariable C<PL_na>, though this is rather less efficient than using a localvariable.  Remember though, that hash keys in perl are free to containembedded nulls, so using C<strlen()> or similar is not a good way to findthe length of hash keys. This is very similar to the C<SvPV()> macrodescribed elsewhere in this document.=for apidoc Am|SV*|HeSVKEY|HE* heReturns the key as an C<SV*>, or C<Nullsv> if the hash entry does notcontain an C<SV*> key.=for apidoc Am|SV*|HeSVKEY_force|HE* heReturns the key as an C<SV*>.  Will create and return a temporary mortalC<SV*> if the hash entry contains only a C<char*> key.=for apidoc Am|SV*|HeSVKEY_set|HE* he|SV* svSets the key to a given C<SV*>, taking care to set the appropriate flags toindicate the presence of an C<SV*> key, and returns the sameC<SV*>.=cut*//* these hash entry flags ride on hent_klen (for use only in magic/tied HVs) */#define HEf_SVKEY	-2	/* hent_key is a SV* */#define Nullhv Null(HV*)#define HvARRAY(hv)	((HE**)((XPVHV*)  SvANY(hv))->xhv_array)#define HvFILL(hv)	((XPVHV*)  SvANY(hv))->xhv_fill#define HvMAX(hv)	((XPVHV*)  SvANY(hv))->xhv_max#define HvKEYS(hv)	((XPVHV*)  SvANY(hv))->xhv_keys#define HvRITER(hv)	((XPVHV*)  SvANY(hv))->xhv_riter#define HvEITER(hv)	((XPVHV*)  SvANY(hv))->xhv_eiter#define HvPMROOT(hv)	((XPVHV*)  SvANY(hv))->xhv_pmroot#define HvNAME(hv)	((XPVHV*)  SvANY(hv))->xhv_name#define HvSHAREKEYS(hv)		(SvFLAGS(hv) & SVphv_SHAREKEYS)#define HvSHAREKEYS_on(hv)	(SvFLAGS(hv) |= SVphv_SHAREKEYS)#define HvSHAREKEYS_off(hv)	(SvFLAGS(hv) &= ~SVphv_SHAREKEYS)#define HvLAZYDEL(hv)		(SvFLAGS(hv) & SVphv_LAZYDEL)#define HvLAZYDEL_on(hv)	(SvFLAGS(hv) |= SVphv_LAZYDEL)#define HvLAZYDEL_off(hv)	(SvFLAGS(hv) &= ~SVphv_LAZYDEL)/* Maybe amagical: *//* #define HV_AMAGICmb(hv)      (SvFLAGS(hv) & (SVpgv_badAM | SVpgv_AM)) */#define HV_AMAGIC(hv)        (SvFLAGS(hv) &   SVpgv_AM)#define HV_AMAGIC_on(hv)     (SvFLAGS(hv) |=  SVpgv_AM)#define HV_AMAGIC_off(hv)    (SvFLAGS(hv) &= ~SVpgv_AM)/*#define HV_AMAGICbad(hv)     (SvFLAGS(hv) & SVpgv_badAM)#define HV_badAMAGIC_on(hv)  (SvFLAGS(hv) |= SVpgv_badAM)#define HV_badAMAGIC_off(hv) (SvFLAGS(hv) &= ~SVpgv_badAM)*/#define Nullhe Null(HE*)#define HeNEXT(he)		(he)->hent_next#define HeKEY_hek(he)		(he)->hent_hek#define HeKEY(he)		HEK_KEY(HeKEY_hek(he))#define HeKEY_sv(he)		(*(SV**)HeKEY(he))#define HeKLEN(he)		HEK_LEN(HeKEY_hek(he))#define HeVAL(he)		(he)->hent_val#define HeHASH(he)		HEK_HASH(HeKEY_hek(he))#define HePV(he,lp)		((HeKLEN(he) == HEf_SVKEY) ?		\				 SvPV(HeKEY_sv(he),lp) :		\				 (((lp = HeKLEN(he)) >= 0) ?		\				  HeKEY(he) : Nullch))#define HeSVKEY(he)		((HeKEY(he) && 				\				  HeKLEN(he) == HEf_SVKEY) ?		\				 HeKEY_sv(he) : Nullsv)#define HeSVKEY_force(he)	(HeKEY(he) ?				\				 ((HeKLEN(he) == HEf_SVKEY) ?		\				  HeKEY_sv(he) :			\				  sv_2mortal(newSVpvn(HeKEY(he),	\						     HeKLEN(he)))) :	\				 &PL_sv_undef)#define HeSVKEY_set(he,sv)	((HeKLEN(he) = HEf_SVKEY), (HeKEY_sv(he) = sv))#define Nullhek Null(HEK*)#define HEK_BASESIZE		STRUCT_OFFSET(HEK, hek_key[0])#define HEK_HASH(hek)		(hek)->hek_hash#define HEK_LEN(hek)		(hek)->hek_len#define HEK_KEY(hek)		(hek)->hek_key/* calculate HV array allocation */#if defined(STRANGE_MALLOC) || defined(MYMALLOC)#  define PERL_HV_ARRAY_ALLOC_BYTES(size) ((size) * sizeof(HE*))#else#  define MALLOC_OVERHEAD 16#  define PERL_HV_ARRAY_ALLOC_BYTES(size) \			(((size) < 64)					\			 ? (size) * sizeof(HE*)				\			 : (size) * sizeof(HE*) * 2 - MALLOC_OVERHEAD)#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲人成网站| 91激情在线视频| 欧美在线三级电影| 久久久久久9999| 调教+趴+乳夹+国产+精品| 粉嫩aⅴ一区二区三区四区| 欧美日韩夫妻久久| 亚洲同性gay激情无套| 久久精品久久精品| 欧美日韩情趣电影| 亚洲精品中文在线观看| 国产成人三级在线观看| 欧美一二区视频| 午夜欧美大尺度福利影院在线看| 99久久99久久精品免费看蜜桃 | 精久久久久久久久久久| 欧美性xxxxxxxx| 亚洲色图20p| 成人精品gif动图一区| 久久免费精品国产久精品久久久久| 九九视频精品免费| 欧美一级高清片在线观看| 亚洲欧美激情一区二区| 国产精品一区三区| 精品久久久久久综合日本欧美| 美国十次了思思久久精品导航| 欧美色涩在线第一页| 一区二区三区在线观看国产| av在线这里只有精品| 国产精品网曝门| 懂色一区二区三区免费观看| 久久人人爽爽爽人久久久| 久久精品国产77777蜜臀| 91精品国产麻豆| 日韩av高清在线观看| 欧美高清视频在线高清观看mv色露露十八| 亚洲精品高清在线| 色又黄又爽网站www久久| 亚洲三级理论片| 91啪九色porn原创视频在线观看| 国产精品久久久久久一区二区三区 | 中文字幕一区二区三| 成人av在线资源网| 国产欧美日本一区视频| 成人综合婷婷国产精品久久蜜臀 | 亚洲欧美偷拍卡通变态| 91视视频在线观看入口直接观看www | 亚洲一区二区三区视频在线| 日本道精品一区二区三区 | 日韩欧美色电影| 麻豆成人av在线| 精品久久国产字幕高潮| 国产精品一品视频| 欧美国产精品一区二区| 成人av网站免费观看| 亚洲视频免费在线| 色婷婷国产精品久久包臀| 成人免费视频caoporn| 日本一区二区高清| 欧美一区二区在线视频| 亚洲精品国产无天堂网2021 | 亚洲一区二区五区| 91精品国产色综合久久久蜜香臀| 秋霞影院一区二区| 久久久久久久久久电影| 99久久免费视频.com| 一区二区三区在线播放| 91麻豆精品国产91久久久使用方法| 毛片不卡一区二区| 日本一区二区免费在线观看视频| 波波电影院一区二区三区| 一区二区在线免费观看| 欧美一区二区三区四区久久| 韩国av一区二区| 亚洲欧洲三级电影| 精品视频在线免费观看| 久久99精品国产91久久来源| 亚洲国产激情av| 91久久精品午夜一区二区| 日韩有码一区二区三区| 久久精品视频一区二区| 色综合久久久久| 蜜桃av一区二区三区| 久久综合狠狠综合久久综合88 | 日本va欧美va欧美va精品| 26uuu色噜噜精品一区| 99久久99久久综合| 麻豆精品视频在线| 中文字幕欧美一区| 欧美一区二区三区免费观看视频| 懂色av噜噜一区二区三区av| 亚洲在线观看免费| 国产亚洲欧美在线| 欧美亚洲国产一区在线观看网站| 久久精品国产秦先生| 国产欧美日韩一区二区三区在线观看| 日本精品一级二级| 国产一区二区在线观看免费| 亚洲免费观看在线观看| 日韩欧美激情在线| 99久久精品免费观看| 蜜桃av一区二区在线观看| 亚洲人成网站在线| 久久亚洲免费视频| 在线免费观看视频一区| 国产成人精品综合在线观看| 天堂一区二区在线免费观看| 亚洲欧美一区二区视频| 日韩欧美自拍偷拍| 91豆麻精品91久久久久久| 国产曰批免费观看久久久| 亚洲影视资源网| 欧美韩国日本一区| 欧美sm极限捆绑bd| 欧美日韩一区二区三区四区| 成人av资源在线| 国内精品久久久久影院色| 爽好久久久欧美精品| 亚洲色图另类专区| 亚洲国产精品黑人久久久| 日韩网站在线看片你懂的| 在线视频亚洲一区| www.日韩大片| 国产精品亚洲人在线观看| 美国三级日本三级久久99 | 国产精品第五页| 国产亚洲欧美日韩日本| 7777精品伊人久久久大香线蕉最新版| 99视频在线精品| 成人免费观看男女羞羞视频| 韩国欧美国产一区| 男女男精品视频网| 亚洲成人综合在线| 亚洲精品视频在线| 欧美激情一区二区三区四区| 精品国产乱码久久久久久夜甘婷婷 | www国产亚洲精品久久麻豆| 欧美日韩国产美| 91成人国产精品| 一本一道久久a久久精品| 99在线精品免费| 成人黄色网址在线观看| 丰满亚洲少妇av| 懂色av一区二区三区免费观看| 国内成人精品2018免费看| 蜜芽一区二区三区| 手机精品视频在线观看| 亚洲高清在线视频| 亚洲国产视频一区| 亚洲国产视频一区二区| 亚洲图片欧美色图| 亚洲国产另类精品专区| 亚洲成在线观看| 天堂精品中文字幕在线| 天堂午夜影视日韩欧美一区二区| 五月婷婷激情综合| 爽爽淫人综合网网站| 日本aⅴ亚洲精品中文乱码| 奇米一区二区三区| 麻豆国产91在线播放| 国产麻豆欧美日韩一区| 国产高清久久久久| 国产电影一区在线| 成人18精品视频| 91在线视频官网| 欧美性受xxxx黑人xyx性爽| 欧美日韩中文字幕精品| 69成人精品免费视频| 日韩精品一区二区三区三区免费| 欧美刺激午夜性久久久久久久| 久久综合国产精品| 亚洲国产精品成人综合| 亚洲婷婷国产精品电影人久久| 亚洲综合男人的天堂| 午夜国产不卡在线观看视频| 美女视频黄 久久| 国产99久久久国产精品| www.亚洲免费av| 欧美特级限制片免费在线观看| 欧美日韩一区二区电影| 日韩欧美一区二区久久婷婷| 久久久一区二区三区捆绑**| 国产精品色婷婷| 亚洲一区电影777| 免费观看日韩av| 国产suv精品一区二区6| 91免费视频网址| 欧美精品一卡两卡| 久久人人爽爽爽人久久久| 日韩理论在线观看| 午夜不卡av在线| 国产精品一区在线观看乱码| 色一区在线观看| 欧美一级片免费看| 国产欧美精品在线观看| 一区二区在线电影| 美女一区二区三区在线观看| 国产成人欧美日韩在线电影| 欧洲视频一区二区| 精品国内二区三区|