proxygen
MapUtil.h File Reference
#include <folly/Conv.h>
#include <folly/Optional.h>
#include <folly/functional/Invoke.h>
#include <tuple>

Go to the source code of this file.

Classes

struct  folly::detail::NestedMapType< T, pathLength, class >
 
struct  folly::detail::NestedMapType< T, 1 >
 
struct  folly::detail::DefaultType< KeysDefault >
 
struct  folly::detail::DefaultType< Default >
 
struct  folly::detail::DefaultType< Key, KeysDefault... >
 

Namespaces

 folly
 —— Concurrent Priority Queue Implementation ——
 
 folly::detail
 

Functions

template<typename Map , typename Key >
Map::mapped_type folly::get_default (const Map &map, const Key &key)
 
template<class Map , typename Key = typename Map::key_type, typename Value = typename Map::mapped_type, typename std::enable_if<!is_invocable< Value >::value >::type * = nullptr>
Map::mapped_type folly::get_default (const Map &map, const Key &key, Value &&dflt)
 
template<class Map , typename Key = typename Map::key_type, typename Func , typename = typename std::enable_if< is_invocable_r<typename Map::mapped_type, Func>::value>::type>
Map::mapped_type folly::get_default (const Map &map, const Key &key, Func &&dflt)
 
template<class E = std::out_of_range, class Map , typename Key = typename Map::key_type>
const Map::mapped_type & folly::get_or_throw (const Map &map, const Key &key, const std::string &exceptionStrPrefix=std::string())
 
template<class E = std::out_of_range, class Map , typename Key = typename Map::key_type>
Map::mapped_type & folly::get_or_throw (Map &map, const Key &key, const std::string &exceptionStrPrefix=std::string())
 
template<class Map , typename Key = typename Map::key_type>
folly::Optional< typename Map::mapped_type > folly::get_optional (const Map &map, const Key &key)
 
template<class Map , typename Key = typename Map::key_type>
const Map::mapped_type & folly::get_ref_default (const Map &map, const Key &key, const typename Map::mapped_type &dflt)
 
template<class Map , typename Key = typename Map::key_type>
const Map::mapped_type & folly::get_ref_default (const Map &map, const Key &key, typename Map::mapped_type &&dflt)=delete
 
template<class Map , typename Key = typename Map::key_type>
const Map::mapped_type & folly::get_ref_default (const Map &map, const Key &key, const typename Map::mapped_type &&dflt)=delete
 
template<class Map , typename Key = typename Map::key_type, typename Func , typename = typename std::enable_if< 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 Map::mapped_type & folly::get_ref_default (const Map &map, const Key &key, Func &&dflt)
 
template<class Map , typename Key = typename Map::key_type>
const Map::mapped_type * folly::get_ptr (const Map &map, const Key &key)
 
template<class Map , typename Key = typename Map::key_type>
Map::mapped_type * folly::get_ptr (Map &map, const Key &key)
 
template<class... KeysDefault>
auto folly::detail::extract_default (const KeysDefault &...keysDefault) -> typename DefaultType< KeysDefault... >::type const &
 
template<class Map , class Key1 , class Key2 , class... Keys>
auto folly::get_optional (const Map &map, const Key1 &key1, const Key2 &key2, const Keys &...keys) -> folly::Optional< typename detail::NestedMapType< Map, 2+sizeof...(Keys)>::type >
 
template<class Map , class Key1 , class Key2 , class... Keys>
auto folly::get_ptr (const Map &map, const Key1 &key1, const Key2 &key2, const Keys &...keys) -> typename detail::NestedMapType< Map, 2+sizeof...(Keys)>::type const *
 
template<class Map , class Key1 , class Key2 , class... Keys>
auto folly::get_ptr (Map &map, const Key1 &key1, const Key2 &key2, const Keys &...keys) -> typename detail::NestedMapType< Map, 2+sizeof...(Keys)>::type *
 
template<class Map , class Key1 , class Key2 , class... KeysDefault, typename = typename std::enable_if<sizeof...(KeysDefault) != 0>::type>
auto folly::get_default (const Map &map, const Key1 &key1, const Key2 &key2, const KeysDefault &...keysDefault) -> typename detail::NestedMapType< Map, 1+sizeof...(KeysDefault)>::type
 
template<class Map , class Key1 , class Key2 , class... KeysDefault, typename = typename std::enable_if<sizeof...(KeysDefault) != 0>::type, typename = typename std::enable_if<std::is_lvalue_reference< typename detail::DefaultType<KeysDefault...>::type>::value>::type>
auto folly::get_ref_default (const Map &map, const Key1 &key1, const Key2 &key2, KeysDefault &&...keysDefault) -> typename detail::NestedMapType< Map, 1+sizeof...(KeysDefault)>::typeconst &