Commit bf3343eb authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook Github Bot

Use is_invocable_r in MapUtil

Summary: [Folly] Use `is_invocable_r` in `MapUtil` v.s. reimplementing it.

Reviewed By: aary

Differential Revision: D7771481

fbshipit-source-id: 41565a06198ed2289206f01a088c3c1b3a01bc8e
parent 9df80a87
...@@ -52,9 +52,8 @@ template < ...@@ -52,9 +52,8 @@ template <
class Map, class Map,
typename Key = typename Map::key_type, typename Key = typename Map::key_type,
typename Func, typename Func,
typename = typename std::enable_if<std::is_convertible< typename = typename std::enable_if<
typename std::result_of<Func()>::type, is_invocable_r<typename Map::mapped_type, Func>::value>::type>
typename Map::mapped_type>::value>::type>
typename Map::mapped_type typename Map::mapped_type
get_default(const Map& map, const Key& key, Func&& dflt) { get_default(const Map& map, const Key& key, Func&& dflt) {
auto pos = map.find(key); auto pos = map.find(key);
...@@ -152,11 +151,10 @@ template < ...@@ -152,11 +151,10 @@ template <
class Map, class Map,
typename Key = typename Map::key_type, typename Key = typename Map::key_type,
typename Func, typename Func,
typename = typename std::enable_if<std::is_convertible<
typename std::result_of<Func()>::type,
const typename Map::mapped_type&>::value>::type,
typename = typename std::enable_if< typename = typename std::enable_if<
std::is_reference<typename std::result_of<Func()>::type>::value>::type> is_invocable_r<const typename Map::mapped_type&, Func>::value>::type,
typename = typename std::enable_if<
std::is_reference<invoke_result_t<Func>>::value>::type>
const typename Map::mapped_type& const typename Map::mapped_type&
get_ref_default(const Map& map, const Key& key, Func&& dflt) { get_ref_default(const Map& map, const Key& key, Func&& dflt) {
auto pos = map.find(key); auto pos = map.find(key);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment