[hashmap] Add keys_ref() and values_ref()
This commit is contained in:
parent
cddcb31065
commit
d8f9d51780
|
@ -301,6 +301,12 @@ struct hb_hashmap_t
|
||||||
| hb_map (&item_t::key)
|
| hb_map (&item_t::key)
|
||||||
| hb_map (hb_ridentity)
|
| hb_map (hb_ridentity)
|
||||||
)
|
)
|
||||||
|
auto keys_ref () const HB_AUTO_RETURN
|
||||||
|
(
|
||||||
|
+ hb_array (items, mask ? mask + 1 : 0)
|
||||||
|
| hb_filter (&item_t::is_real)
|
||||||
|
| hb_map (&item_t::key)
|
||||||
|
)
|
||||||
auto values () const HB_AUTO_RETURN
|
auto values () const HB_AUTO_RETURN
|
||||||
(
|
(
|
||||||
+ hb_array (items, mask ? mask + 1 : 0)
|
+ hb_array (items, mask ? mask + 1 : 0)
|
||||||
|
@ -308,6 +314,12 @@ struct hb_hashmap_t
|
||||||
| hb_map (&item_t::value)
|
| hb_map (&item_t::value)
|
||||||
| hb_map (hb_ridentity)
|
| hb_map (hb_ridentity)
|
||||||
)
|
)
|
||||||
|
auto values_ref () const HB_AUTO_RETURN
|
||||||
|
(
|
||||||
|
+ hb_array (items, mask ? mask + 1 : 0)
|
||||||
|
| hb_filter (&item_t::is_real)
|
||||||
|
| hb_map (&item_t::value)
|
||||||
|
)
|
||||||
|
|
||||||
/* Sink interface. */
|
/* Sink interface. */
|
||||||
hb_hashmap_t& operator << (const hb_pair_t<K, V>& v)
|
hb_hashmap_t& operator << (const hb_pair_t<K, V>& v)
|
||||||
|
|
|
@ -195,6 +195,11 @@ main (int argc, char **argv)
|
||||||
m.get (hb::shared_ptr<hb_set_t> ());
|
m.get (hb::shared_ptr<hb_set_t> ());
|
||||||
m.get (hb::shared_ptr<hb_set_t> (hb_set_get_empty ()));
|
m.get (hb::shared_ptr<hb_set_t> (hb_set_get_empty ()));
|
||||||
m.iter ();
|
m.iter ();
|
||||||
|
m.keys ();
|
||||||
|
m.values ();
|
||||||
|
m.iter_ref ();
|
||||||
|
m.keys_ref ();
|
||||||
|
m.values_ref ();
|
||||||
}
|
}
|
||||||
/* Test hb::unique_ptr. */
|
/* Test hb::unique_ptr. */
|
||||||
hb_hash (hb::unique_ptr<hb_set_t> ());
|
hb_hash (hb::unique_ptr<hb_set_t> ());
|
||||||
|
@ -204,6 +209,8 @@ main (int argc, char **argv)
|
||||||
m.get (hb::unique_ptr<hb_set_t> ());
|
m.get (hb::unique_ptr<hb_set_t> ());
|
||||||
m.get (hb::unique_ptr<hb_set_t> (hb_set_get_empty ()));
|
m.get (hb::unique_ptr<hb_set_t> (hb_set_get_empty ()));
|
||||||
m.iter_ref ();
|
m.iter_ref ();
|
||||||
|
m.keys_ref ();
|
||||||
|
m.values_ref ();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue