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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? glib-hash-tables.html

?? glid編寫實例
?? HTML
?? 第 1 頁 / 共 4 頁
字號:
<html xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0"><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Hash Tables</title><meta name="generator" content="DocBook XSL Stylesheets V1.69.0"><link rel="start" href="index.html" title="GLib Reference Manual"><link rel="up" href="glib-data-types.html" title="GLib Data Types"><link rel="prev" href="glib-Trash-Stacks.html" title="Trash Stacks"><link rel="next" href="glib-Strings.html" title="Strings"><meta name="generator" content="GTK-Doc V1.4 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="glib.html" title="GLib Overview"><link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals"><link rel="chapter" href="glib-core.html" title="GLib Core Application Support"><link rel="chapter" href="glib-utilities.html" title="GLib Utilities"><link rel="chapter" href="glib-data-types.html" title="GLib Data Types"><link rel="chapter" href="tools.html" title="GLib Tools"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="glib-Trash-Stacks.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="glib-data-types.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GLib Reference Manual</th><td><a accesskey="n" href="glib-Strings.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="glib-Hash-Tables"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">Hash Tables</span></h2><p>Hash Tables &#8212; associations between keys and values so that given a key the valuecan be found quickly.</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">#include &lt;glib.h&gt;            <a href="glib-Hash-Tables.html#GHashTable">GHashTable</a>;<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a>* <a href="glib-Hash-Tables.html#g-hash-table-new">g_hash_table_new</a>                (<a href="glib-Hash-Tables.html#GHashFunc">GHashFunc</a> hash_func,                                             <a href="glib-Hash-Tables.html#GEqualFunc">GEqualFunc</a> key_equal_func);<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a>* <a href="glib-Hash-Tables.html#g-hash-table-new-full">g_hash_table_new_full</a>           (<a href="glib-Hash-Tables.html#GHashFunc">GHashFunc</a> hash_func,                                             <a href="glib-Hash-Tables.html#GEqualFunc">GEqualFunc</a> key_equal_func,                                             <a href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> key_destroy_func,                                             <a href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> value_destroy_func);<a href="glib-Basic-Types.html#guint">guint</a>       (<a href="glib-Hash-Tables.html#GHashFunc">*GHashFunc</a>)                    (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> key);<a href="glib-Basic-Types.html#gboolean">gboolean</a>    (<a href="glib-Hash-Tables.html#GEqualFunc">*GEqualFunc</a>)                   (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> a,                                             <a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> b);void        <a href="glib-Hash-Tables.html#g-hash-table-insert">g_hash_table_insert</a>             (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> key,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> value);void        <a href="glib-Hash-Tables.html#g-hash-table-replace">g_hash_table_replace</a>            (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> key,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> value);<a href="glib-Basic-Types.html#guint">guint</a>       <a href="glib-Hash-Tables.html#g-hash-table-size">g_hash_table_size</a>               (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table);<a href="glib-Basic-Types.html#gpointer">gpointer</a>    <a href="glib-Hash-Tables.html#g-hash-table-lookup">g_hash_table_lookup</a>             (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> key);<a href="glib-Basic-Types.html#gboolean">gboolean</a>    <a href="glib-Hash-Tables.html#g-hash-table-lookup-extended">g_hash_table_lookup_extended</a>    (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> lookup_key,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> *orig_key,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> *value);void        <a href="glib-Hash-Tables.html#g-hash-table-foreach">g_hash_table_foreach</a>            (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Hash-Tables.html#GHFunc">GHFunc</a> func,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);<a href="glib-Basic-Types.html#gpointer">gpointer</a>    <a href="glib-Hash-Tables.html#g-hash-table-find">g_hash_table_find</a>               (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Hash-Tables.html#GHRFunc">GHRFunc</a> predicate,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);void        (<a href="glib-Hash-Tables.html#GHFunc">*GHFunc</a>)                       (<a href="glib-Basic-Types.html#gpointer">gpointer</a> key,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> value,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);<a href="glib-Basic-Types.html#gboolean">gboolean</a>    <a href="glib-Hash-Tables.html#g-hash-table-remove">g_hash_table_remove</a>             (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> key);<a href="glib-Basic-Types.html#gboolean">gboolean</a>    <a href="glib-Hash-Tables.html#g-hash-table-steal">g_hash_table_steal</a>              (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> key);<a href="glib-Basic-Types.html#guint">guint</a>       <a href="glib-Hash-Tables.html#g-hash-table-foreach-remove">g_hash_table_foreach_remove</a>     (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Hash-Tables.html#GHRFunc">GHRFunc</a> func,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);<a href="glib-Basic-Types.html#guint">guint</a>       <a href="glib-Hash-Tables.html#g-hash-table-foreach-steal">g_hash_table_foreach_steal</a>      (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table,                                             <a href="glib-Hash-Tables.html#GHRFunc">GHRFunc</a> func,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);<a href="glib-Basic-Types.html#gboolean">gboolean</a>    (<a href="glib-Hash-Tables.html#GHRFunc">*GHRFunc</a>)                      (<a href="glib-Basic-Types.html#gpointer">gpointer</a> key,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> value,                                             <a href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);#define     <a href="glib-Hash-Tables.html#g-hash-table-freeze">g_hash_table_freeze</a>             (hash_table)#define     <a href="glib-Hash-Tables.html#g-hash-table-thaw">g_hash_table_thaw</a>               (hash_table)void        <a href="glib-Hash-Tables.html#g-hash-table-destroy">g_hash_table_destroy</a>            (<a href="glib-Hash-Tables.html#GHashTable">GHashTable</a> *hash_table);<a href="glib-Basic-Types.html#gboolean">gboolean</a>    <a href="glib-Hash-Tables.html#g-direct-equal">g_direct_equal</a>                  (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v,                                             <a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v2);<a href="glib-Basic-Types.html#guint">guint</a>       <a href="glib-Hash-Tables.html#g-direct-hash">g_direct_hash</a>                   (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v);<a href="glib-Basic-Types.html#gboolean">gboolean</a>    <a href="glib-Hash-Tables.html#g-int-equal">g_int_equal</a>                     (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v,                                             <a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v2);<a href="glib-Basic-Types.html#guint">guint</a>       <a href="glib-Hash-Tables.html#g-int-hash">g_int_hash</a>                      (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v);<a href="glib-Basic-Types.html#gboolean">gboolean</a>    <a href="glib-Hash-Tables.html#g-str-equal">g_str_equal</a>                     (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v,                                             <a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v2);<a href="glib-Basic-Types.html#guint">guint</a>       <a href="glib-Hash-Tables.html#g-str-hash">g_str_hash</a>                      (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> v);</pre></div><div class="refsect1" lang="en"><a name="id3137355"></a><h2>Description</h2><p>A <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> provides associations between keys and values whichis optimized so that given a key, the associated value can be foundvery quickly.</p><p>Note that neither keys nor values are copied when inserted into the<a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>, so they must exist for the lifetime of the <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.This means that the use of static strings is OK, but temporarystrings (i.e. those created in buffers and those returned by GTK+ widgets)should be copied with <a href="glib-String-Utility-Functions.html#g-strdup"><code class="function">g_strdup()</code></a> before being inserted.</p><p>If keys or values are dynamically allocated, you must be careful to ensurethat they are freed when they are removed from the <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>, and alsowhen they are overwritten by new insertions into the <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.It is also not advisable to mix static strings and dynamically-allocatedstrings in a <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>, because it then becomes difficult to determinewhether the string should be freed.</p><p>To create a <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>, use <a href="glib-Hash-Tables.html#g-hash-table-new"><code class="function">g_hash_table_new()</code></a>.</p><p>To insert a key and value into a <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>, use <a href="glib-Hash-Tables.html#g-hash-table-insert"><code class="function">g_hash_table_insert()</code></a>.</p><p>To lookup a value corresponding to a given key, use <a href="glib-Hash-Tables.html#g-hash-table-lookup"><code class="function">g_hash_table_lookup()</code></a>and <a href="glib-Hash-Tables.html#g-hash-table-lookup-extended"><code class="function">g_hash_table_lookup_extended()</code></a>.</p><p>To remove a key and value, use <a href="glib-Hash-Tables.html#g-hash-table-remove"><code class="function">g_hash_table_remove()</code></a>.</p><p>To call a function for each key and value pair use <a href="glib-Hash-Tables.html#g-hash-table-foreach"><code class="function">g_hash_table_foreach()</code></a>.</p><p>To destroy a <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> use <a href="glib-Hash-Tables.html#g-hash-table-destroy"><code class="function">g_hash_table_destroy()</code></a>.</p></div><div class="refsect1" lang="en"><a name="id3137565"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3137571"></a><h3><a name="GHashTable"></a>GHashTable</h3><a class="indexterm" name="id3137580"></a><pre class="programlisting">typedef struct _GHashTable GHashTable;</pre><p>The <span class="structname">GHashTable</span> struct is an opaque data structure to represent a<a href="glib-Hash-Tables.html" title="Hash Tables">Hash Table</a>.It should only be accessed via the following functions.</p></div><hr><div class="refsect2" lang="en"><a name="id3137610"></a><h3><a name="g-hash-table-new"></a>g_hash_table_new ()</h3><a class="indexterm" name="id3137620"></a><pre class="programlisting"><a href="glib-Hash-Tables.html#GHashTable">GHashTable</a>* g_hash_table_new                (<a href="glib-Hash-Tables.html#GHashFunc">GHashFunc</a> hash_func,                                             <a href="glib-Hash-Tables.html#GEqualFunc">GEqualFunc</a> key_equal_func);</pre><p>Creates a new <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>hash_func</code></em>&#160;:</span></td><td> a function to create a hash value from a key.  Hash values are used to determine where keys are stored within the  <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> data structure. The <a href="glib-Hash-Tables.html#g-direct-hash"><code class="function">g_direct_hash()</code></a>, <a href="glib-Hash-Tables.html#g-int-hash"><code class="function">g_int_hash()</code></a> and   <a href="glib-Hash-Tables.html#g-str-hash"><code class="function">g_str_hash()</code></a> functions are provided for some common types of keys.   If hash_func is <code class="literal">NULL</code>, <a href="glib-Hash-Tables.html#g-direct-hash"><code class="function">g_direct_hash()</code></a> is used.</td></tr><tr><td><span class="term"><em class="parameter"><code>key_equal_func</code></em>&#160;:</span></td><td> a function to check two keys for equality.  This is  used when looking up keys in the <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.  The <a href="glib-Hash-Tables.html#g-direct-equal"><code class="function">g_direct_equal()</code></a>,  <a href="glib-Hash-Tables.html#g-int-equal"><code class="function">g_int_equal()</code></a> and <a href="glib-Hash-Tables.html#g-str-equal"><code class="function">g_str_equal()</code></a> functions are provided for the most  common types of keys. If <em class="parameter"><code>key_equal_func</code></em> is <code class="literal">NULL</code>, keys are compared  directly in a similar fashion to <a href="glib-Hash-Tables.html#g-direct-equal"><code class="function">g_direct_equal()</code></a>, but without the  overhead of a function call.</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> a new <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3137842"></a><h3><a name="g-hash-table-new-full"></a>g_hash_table_new_full ()</h3><a class="indexterm" name="id3137853"></a><pre class="programlisting"><a href="glib-Hash-Tables.html#GHashTable">GHashTable</a>* g_hash_table_new_full           (<a href="glib-Hash-Tables.html#GHashFunc">GHashFunc</a> hash_func,                                             <a href="glib-Hash-Tables.html#GEqualFunc">GEqualFunc</a> key_equal_func,                                             <a href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> key_destroy_func,                                             <a href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> value_destroy_func);</pre><p>Creates a new <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> like <a href="glib-Hash-Tables.html#g-hash-table-new"><code class="function">g_hash_table_new()</code></a> and allows to specifyfunctions to free the memory allocated for the key and value that get called when removing the entry from the <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>hash_func</code></em>&#160;:</span></td><td> a function to create a hash value from a key.</td></tr><tr><td><span class="term"><em class="parameter"><code>key_equal_func</code></em>&#160;:</span></td><td> a function to check two keys for equality.</td></tr><tr><td><span class="term"><em class="parameter"><code>key_destroy_func</code></em>&#160;:</span></td><td> a function to free the memory allocated for the key   used when removing the entry from the <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> or <code class="literal">NULL</code> if you   don't want to supply such a function.</td></tr><tr><td><span class="term"><em class="parameter"><code>value_destroy_func</code></em>&#160;:</span></td><td> a function to free the memory allocated for the   value used when removing the entry from the <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> or <code class="literal">NULL</code> if   you don't want to supply such a function.</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> a new <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3138049"></a><h3><a name="GHashFunc"></a>GHashFunc ()</h3><a class="indexterm" name="id3138059"></a><pre class="programlisting"><a href="glib-Basic-Types.html#guint">guint</a>       (*GHashFunc)                    (<a href="glib-Basic-Types.html#gconstpointer">gconstpointer</a> key);</pre><p>Specifies the type of the hash function which is passed to<a href="glib-Hash-Tables.html#g-hash-table-new"><code class="function">g_hash_table_new()</code></a> when a <a href="glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> is created.</p><p>The function is passed a key and should return a <a href="glib-Basic-Types.html#guint"><span class="type">guint</span></a> hash value.The functions <a href="glib-Hash-Tables.html#g-direct-hash"><code class="function">g_direct_hash()</code></a>, <a href="glib-Hash-Tables.html#g-int-hash"><code class="function">g_int_hash()</code></a> and <a href="glib-Hash-Tables.html#g-str-hash"><code class="function">g_str_hash()</code></a> providehash functions which can be used when the key is a <a href="glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>, <a href="glib-Basic-Types.html#gint"><span class="type">gint</span></a>, and <a href="glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* respectively.</p><p>FIXME: Need more here.The hash values should be evenly distributed over a fairly large range?The modulus is taken with the hash table size (a prime number)to find the 'bucket' to place each key into.The function should also be very fast, since it is called for each keylookup.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>key</code></em>&#160;:</span></td><td>a key.</td></tr><tr>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
东方欧美亚洲色图在线| 久久久久久久久久久久电影| 日韩精品资源二区在线| 国产精品久久精品日日| 日本免费在线视频不卡一不卡二| eeuss鲁片一区二区三区在线看 | 五月激情综合色| 成人一区二区在线观看| 日韩一区二区三区在线视频| 亚洲精品自拍动漫在线| 高清shemale亚洲人妖| 日韩欧美资源站| 视频一区二区三区中文字幕| 99久久久精品免费观看国产蜜| 亚洲精品在线观看网站| 日韩电影在线一区二区| 欧美色欧美亚洲另类二区| 中文字幕在线观看一区| 国产a区久久久| 久久精品视频一区二区| 精品影院一区二区久久久| 69久久夜色精品国产69蝌蚪网| 亚洲精品久久久蜜桃| 成人av电影免费在线播放| 久久久久亚洲蜜桃| 国产伦精品一区二区三区免费| 日韩免费看的电影| 久久99精品国产91久久来源| 欧美一区二区成人6969| 蜜臀av性久久久久蜜臀av麻豆| 欧美日韩国产精选| 偷窥国产亚洲免费视频| 欧美一区二区三区性视频| 日韩精品电影在线| 日韩精品一区二区三区视频| 久久精品噜噜噜成人88aⅴ| 久久综合九色综合97_久久久| 激情小说亚洲一区| 欧美激情一区二区三区在线| 国产aⅴ精品一区二区三区色成熟| 国产网站一区二区| 99精品偷自拍| 亚洲成人先锋电影| 欧美一区二区三区四区视频| 久草热8精品视频在线观看| 久久嫩草精品久久久精品| 夜夜精品浪潮av一区二区三区| 欧美日韩亚洲综合在线| 日本不卡高清视频| 国产视频在线观看一区二区三区| 成人毛片老司机大片| 亚洲另类色综合网站| 欧美日韩国产天堂| 国产一区二区久久| 亚洲另类在线视频| 日韩三级av在线播放| 精品无人区卡一卡二卡三乱码免费卡| 国产网站一区二区| 欧洲生活片亚洲生活在线观看| 日韩和的一区二区| 国产午夜亚洲精品午夜鲁丝片 | 国产亚洲污的网站| 91小视频免费观看| 午夜私人影院久久久久| 亚洲精品一区二区三区在线观看 | 国产日韩欧美高清在线| 色综合天天综合色综合av| 日本vs亚洲vs韩国一区三区| 国产免费观看久久| 欧美精品在线观看播放| 高清国产一区二区| 日韩电影在线观看电影| 中文字幕精品综合| 在线播放亚洲一区| 99久久免费视频.com| 日韩av成人高清| 中文字幕综合网| 精品国产一区二区三区久久久蜜月 | 国产精品沙发午睡系列990531| 国产不卡在线一区| 日韩黄色免费网站| 亚洲三级在线看| 久久久久久久国产精品影院| 欧美综合久久久| 波多野结衣精品在线| 美国av一区二区| 午夜久久久久久| 自拍偷在线精品自拍偷无码专区| 精品国产乱码久久久久久久| 欧洲精品一区二区三区在线观看| 国产成人午夜片在线观看高清观看| 亚洲一区二区三区中文字幕 | 欧美巨大另类极品videosbest | 麻豆国产欧美日韩综合精品二区| 亚洲精品欧美激情| 国产亚洲精品久| 亚洲精品一区二区精华| 3atv一区二区三区| 91高清在线观看| 91丨porny丨国产| 国产精品一区久久久久| 美女尤物国产一区| 视频一区在线播放| 亚洲成人综合在线| 亚洲狠狠爱一区二区三区| 中文字幕日韩一区| 国产精品你懂的| 国产欧美日韩视频一区二区| 精品粉嫩aⅴ一区二区三区四区| 6080日韩午夜伦伦午夜伦| 欧美午夜精品理论片a级按摩| 色综合久久中文字幕| 成人av网站在线观看| jizz一区二区| 91色综合久久久久婷婷| 色88888久久久久久影院野外| 99久久国产免费看| 色8久久精品久久久久久蜜| 色女孩综合影院| 欧美性猛交一区二区三区精品| 色婷婷亚洲综合| 欧美三级日韩在线| 在线电影欧美成精品| 欧美96一区二区免费视频| 高清不卡一区二区| 成人午夜看片网址| 91网址在线看| 色系网站成人免费| 欧美日韩一二三区| 日韩精品一区二区三区中文不卡 | 久久亚洲一区二区三区明星换脸| 精品久久99ma| 国产精品网站导航| 亚洲免费观看高清完整| 婷婷久久综合九色综合绿巨人 | 成人免费三级在线| 91老师片黄在线观看| 欧美色综合天天久久综合精品| 欧美日韩国产高清一区二区 | 国产精品视频一二| 一区二区三区中文字幕精品精品| 亚洲成人三级小说| 国产一区二区三区免费观看| 成人爱爱电影网址| 欧美日本一道本| 国产日韩三级在线| 亚洲成a人v欧美综合天堂| 久久精品理论片| 色综合视频在线观看| 欧美tickling网站挠脚心| 1区2区3区精品视频| 日韩精品亚洲一区| www.av亚洲| 欧美一区二区三区四区高清| 国产精品久久久99| 欧美a级一区二区| 99精品一区二区| 久久先锋影音av| 亚洲午夜精品一区二区三区他趣| 精品亚洲国内自在自线福利| 色悠悠久久综合| 国产精品理论片在线观看| 日韩不卡在线观看日韩不卡视频| 成人午夜电影网站| 精品国产乱子伦一区| 亚洲高清不卡在线观看| 东方aⅴ免费观看久久av| 日韩色在线观看| 一二三区精品视频| 99re亚洲国产精品| 亚洲精品一线二线三线| 五月婷婷久久丁香| 91小视频免费观看| 欧美国产激情一区二区三区蜜月| 日日摸夜夜添夜夜添国产精品 | 欧美一a一片一级一片| 久久久99久久精品欧美| 天堂蜜桃91精品| 91免费看片在线观看| 国产亚洲精品7777| 久久97超碰国产精品超碰| 欧美日韩国产在线观看| 亚洲综合在线电影| 北岛玲一区二区三区四区| 久久久精品国产99久久精品芒果| 日韩国产欧美一区二区三区| 欧美午夜电影网| 一区二区三区中文字幕精品精品| av电影天堂一区二区在线| 日本一区二区在线不卡| 国产成人在线网站| 久久精品水蜜桃av综合天堂| 久久超碰97中文字幕| 日韩精品一区二区三区蜜臀| 日本午夜精品一区二区三区电影| 欧美日本韩国一区| 五月婷婷综合网| 日韩亚洲欧美成人一区| 麻豆精品视频在线观看视频| 91精品国产色综合久久不卡电影|