|
template<class T > |
using | phmap::Allocator = typename std::allocator< T > |
|
template<class T1 , class T2 > |
using | phmap::Pair = typename std::pair< T1, T2 > |
|
template<typename T > |
using | phmap::type_traits_internal::IsCopyAssignableImpl = decltype(std::declval< T & >()=std::declval< const T & >()) |
|
template<typename T > |
using | phmap::type_traits_internal::IsMoveAssignableImpl = decltype(std::declval< T & >()=std::declval< T && >()) |
|
template<typename T > |
using | phmap::remove_cv_t = typename std::remove_cv< T >::type |
|
template<typename T > |
using | phmap::remove_const_t = typename std::remove_const< T >::type |
|
template<typename T > |
using | phmap::remove_volatile_t = typename std::remove_volatile< T >::type |
|
template<typename T > |
using | phmap::add_cv_t = typename std::add_cv< T >::type |
|
template<typename T > |
using | phmap::add_const_t = typename std::add_const< T >::type |
|
template<typename T > |
using | phmap::add_volatile_t = typename std::add_volatile< T >::type |
|
template<typename T > |
using | phmap::remove_reference_t = typename std::remove_reference< T >::type |
|
template<typename T > |
using | phmap::add_lvalue_reference_t = typename std::add_lvalue_reference< T >::type |
|
template<typename T > |
using | phmap::add_rvalue_reference_t = typename std::add_rvalue_reference< T >::type |
|
template<typename T > |
using | phmap::remove_pointer_t = typename std::remove_pointer< T >::type |
|
template<typename T > |
using | phmap::add_pointer_t = typename std::add_pointer< T >::type |
|
template<typename T > |
using | phmap::make_signed_t = typename std::make_signed< T >::type |
|
template<typename T > |
using | phmap::make_unsigned_t = typename std::make_unsigned< T >::type |
|
template<typename T > |
using | phmap::remove_extent_t = typename std::remove_extent< T >::type |
|
template<typename T > |
using | phmap::remove_all_extents_t = typename std::remove_all_extents< T >::type |
|
template<size_t Len, size_t Align = type_traits_internal:: default_alignment_of_aligned_storage<Len>::value> |
using | phmap::aligned_storage_t = typename std::aligned_storage< Len, Align >::type |
|
template<typename T > |
using | phmap::decay_t = typename std::decay< T >::type |
|
template<bool B, typename T = void> |
using | phmap::enable_if_t = typename std::enable_if< B, T >::type |
|
template<bool B, typename T , typename F > |
using | phmap::conditional_t = typename std::conditional< B, T, F >::type |
|
template<typename... T> |
using | phmap::common_type_t = typename std::common_type< T... >::type |
|
template<typename T > |
using | phmap::underlying_type_t = typename std::underlying_type< T >::type |
|
template<class F , class... ArgTypes> |
using | phmap::invoke_result_t = typename std::result_of< F(ArgTypes...)>::type |
|
template<typename T > |
using | phmap::internal::identity_t = typename identity< T >::type |
|
template<typename F , typename... Args> |
using | phmap::base_internal::InvokeT = decltype(Invoker< F, Args... >::type::Invoke(std::declval< F >(), std::declval< Args >()...)) |
|
template<size_t... Ints> |
using | phmap::index_sequence = integer_sequence< size_t, Ints... > |
|
template<typename T , T N> |
using | phmap::make_integer_sequence = typename utility_internal::Gen< T, N >::type |
|
template<size_t N> |
using | phmap::make_index_sequence = make_integer_sequence< size_t, N > |
|
template<typename... Ts> |
using | phmap::index_sequence_for = make_index_sequence< sizeof...(Ts)> |
|
template<template< typename > class Extract, typename Obj , typename Default > |
using | phmap::memory_internal::ExtractOrT = typename ExtractOr< Extract, Obj, Default, void >::type |
|
template<typename T > |
using | phmap::memory_internal::GetPointer = typename T::pointer |
|
template<typename T > |
using | phmap::memory_internal::GetConstPointer = typename T::const_pointer |
|
template<typename T > |
using | phmap::memory_internal::GetVoidPointer = typename T::void_pointer |
|
template<typename T > |
using | phmap::memory_internal::GetConstVoidPointer = typename T::const_void_pointer |
|
template<typename T > |
using | phmap::memory_internal::GetDifferenceType = typename T::difference_type |
|
template<typename T > |
using | phmap::memory_internal::GetSizeType = typename T::size_type |
|
template<typename T > |
using | phmap::memory_internal::GetPropagateOnContainerCopyAssignment = typename T::propagate_on_container_copy_assignment |
|
template<typename T > |
using | phmap::memory_internal::GetPropagateOnContainerMoveAssignment = typename T::propagate_on_container_move_assignment |
|
template<typename T > |
using | phmap::memory_internal::GetPropagateOnContainerSwap = typename T::propagate_on_container_swap |
|
template<typename T > |
using | phmap::memory_internal::GetIsAlwaysEqual = typename T::is_always_equal |
|
template<typename Alloc > |
using | phmap::memory_internal::GetIsNothrow = typename Alloc::is_nothrow |
|
template<typename C > |
using | phmap::span_internal::HasSize = std::is_integral< phmap::decay_t< decltype(std::declval< C & >().size())> > |
|
template<typename T , typename C > |
using | phmap::span_internal::HasData = std::is_convertible< phmap::decay_t< decltype(GetData(std::declval< C & >()))> *, T *const * > |
|
template<typename C > |
using | phmap::span_internal::ElementT = typename ElementType< C >::type |
|
template<typename T > |
using | phmap::span_internal::EnableIfMutable = typename std::enable_if<!std::is_const< T >::value, int >::type |
|
template<typename From , typename To > |
using | phmap::span_internal::EnableIfConvertibleToSpanConst = typename std::enable_if< IsConvertible< From, Span< const To > >::value >::type |
|
template<size_t > |
using | phmap::priv::internal_layout::IntToSize = size_t |
|
template<class > |
using | phmap::priv::internal_layout::TypeToSize = size_t |
|
template<class T , class... Ts> |
using | phmap::priv::internal_layout::Contains = phmap::disjunction< std::is_same< T, Ts >... > |
|
template<class From , class To > |
using | phmap::priv::internal_layout::CopyConst = typename std::conditional< std::is_const< From >::value, const To, To >::type |
|
template<class T > |
using | phmap::priv::internal_layout::SliceType = Span< T > |
|
template<bool C> |
using | phmap::priv::internal_layout::EnableIf = typename std::enable_if< C, int >::type |
|
template<class T > |
using | phmap::priv::internal_layout::IsLegalElementType = std::integral_constant< bool, !std::is_reference< T >::value &&!std::is_volatile< T >::value &&!std::is_reference< typename Type< T >::type >::value &&!std::is_volatile< typename Type< T >::type >::value &&adl_barrier::IsPow2(AlignOf< T >::value)> |
|
template<size_t NumSizes, class... Ts> |
using | phmap::priv::internal_layout::LayoutType = LayoutImpl< std::tuple< Ts... >, phmap::make_index_sequence< NumSizes >, phmap::make_index_sequence< adl_barrier::Min(sizeof...(Ts), NumSizes+1)> > |
|
template<typename D , size_t I> |
using | phmap::priv::internal_compressed_tuple::ElemT = typename Elem< D, I >::type |
|
|
template<class... Ts> |
void | phmap::type_traits_internal::AssertHashEnabled () |
|
static void | phmap::base_internal::ThrowStdLogicError (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdLogicError (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdInvalidArgument (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdInvalidArgument (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdDomainError (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdDomainError (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdLengthError (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdLengthError (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdOutOfRange (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdOutOfRange (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdRuntimeError (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdRuntimeError (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdRangeError (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdRangeError (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdOverflowError (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdOverflowError (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdUnderflowError (const std::string &what_arg) |
|
static void | phmap::base_internal::ThrowStdUnderflowError (const char *what_arg) |
|
static void | phmap::base_internal::ThrowStdBadFunctionCall () |
|
static void | phmap::base_internal::ThrowStdBadAlloc () |
|
template<typename F , typename... Args> |
InvokeT< F, Args... > | phmap::base_internal::Invoke (F &&f, Args &&... args) |
|
| phmap::PHMAP_INTERNAL_INLINE_CONSTEXPR (in_place_t, in_place, {}) |
|
template<typename T > |
constexpr phmap::remove_reference_t< T > && | phmap::move (T &&t) noexcept |
|
template<typename T > |
constexpr T && | phmap::forward (phmap::remove_reference_t< T > &t) noexcept |
|
template<typename Functor , typename Tuple , std::size_t... Indexes> |
auto | phmap::utility_internal::apply_helper (Functor &&functor, Tuple &&t, index_sequence< Indexes... >) -> decltype(phmap::base_internal::Invoke(phmap::forward< Functor >(functor), std::get< Indexes >(phmap::forward< Tuple >(t))...)) |
|
template<typename Functor , typename Tuple > |
auto | phmap::apply (Functor &&functor, Tuple &&t) -> decltype(utility_internal::apply_helper(phmap::forward< Functor >(functor), phmap::forward< Tuple >(t), phmap::make_index_sequence< std::tuple_size< typename std::remove_reference< Tuple >::type >::value >{})) |
|
template<typename T , typename U = T> |
T | phmap::exchange (T &obj, U &&new_value) |
|
template<typename T > |
std::unique_ptr< T > | phmap::WrapUnique (T *ptr) |
|
template<typename T , typename... Args> |
memory_internal::MakeUniqueResult< T >::scalar | phmap::make_unique (Args &&... args) |
|
template<typename T > |
memory_internal::MakeUniqueResult< T >::array | phmap::make_unique (size_t n) |
|
template<typename T , typename... Args> |
memory_internal::MakeUniqueResult< T >::invalid | phmap::make_unique (Args &&...)=delete |
|
template<typename T > |
auto | phmap::RawPtr (T &&ptr) -> decltype(std::addressof(*ptr)) |
|
std::nullptr_t | phmap::RawPtr (std::nullptr_t) |
|
template<typename T , typename D > |
std::shared_ptr< T > | phmap::ShareUniquePtr (std::unique_ptr< T, D > &&ptr) |
|
template<typename T > |
std::weak_ptr< T > | phmap::WeakenPtr (const std::shared_ptr< T > &ptr) |
|
template<typename T , typename U > |
constexpr bool | phmap::memory_internal::HasRebindAlloc (...) |
|
template<typename T , typename U > |
constexpr bool | phmap::memory_internal::HasRebindAlloc (typename std::allocator_traits< T >::template rebind_alloc< U > *) |
|
template<typename Allocator , typename Iterator , typename... Args> |
void | phmap::memory_internal::ConstructRange (Allocator &alloc, Iterator first, Iterator last, const Args &... args) |
|
template<typename Allocator , typename Iterator , typename InputIterator > |
void | phmap::memory_internal::CopyRange (Allocator &alloc, Iterator destination, InputIterator first, InputIterator last) |
|
constexpr nullopt_t | phmap::nullopt (nullopt_t::init) |
|
void | phmap::optional_internal::throw_bad_optional_access () |
|
template<typename T > |
constexpr copy_traits | phmap::optional_internal::get_ctor_copy_traits () |
|
template<typename T > |
constexpr copy_traits | phmap::optional_internal::get_assign_copy_traits () |
|
bool | phmap::optional_internal::convertible_to_bool (bool) |
|
template<typename T , typename std::enable_if< std::is_move_constructible< T >::value, bool >::type = false> |
void | phmap::swap (optional< T > &a, optional< T > &b) noexcept(noexcept(a.swap(b))) |
|
template<typename T > |
constexpr optional< typename std::decay< T >::type > | phmap::make_optional (T &&v) |
|
template<typename T , typename... Args> |
constexpr optional< T > | phmap::make_optional (Args &&... args) |
|
template<typename T , typename U , typename... Args> |
constexpr optional< T > | phmap::make_optional (std::initializer_list< U > il, Args &&... args) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator== (const optional< T > &x, const optional< U > &y) -> decltype(optional_internal::convertible_to_bool(*x== *y)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator!= (const optional< T > &x, const optional< U > &y) -> decltype(optional_internal::convertible_to_bool(*x != *y)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator< (const optional< T > &x, const optional< U > &y) -> decltype(optional_internal::convertible_to_bool(*x< *y)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator> (const optional< T > &x, const optional< U > &y) -> decltype(optional_internal::convertible_to_bool(*x > *y)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator<= (const optional< T > &x, const optional< U > &y) -> decltype(optional_internal::convertible_to_bool(*x<= *y)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator>= (const optional< T > &x, const optional< U > &y) -> decltype(optional_internal::convertible_to_bool(*x >= *y)) |
|
template<typename T > |
constexpr bool | phmap::operator== (const optional< T > &x, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator== (nullopt_t, const optional< T > &x) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator!= (const optional< T > &x, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator!= (nullopt_t, const optional< T > &x) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator< (const optional< T > &, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator< (nullopt_t, const optional< T > &x) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator<= (const optional< T > &x, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator<= (nullopt_t, const optional< T > &) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator> (const optional< T > &x, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator> (nullopt_t, const optional< T > &) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator>= (const optional< T > &, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | phmap::operator>= (nullopt_t, const optional< T > &x) noexcept |
|
template<typename T , typename U > |
constexpr auto | phmap::operator== (const optional< T > &x, const U &v) -> decltype(optional_internal::convertible_to_bool(*x==v)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator== (const U &v, const optional< T > &x) -> decltype(optional_internal::convertible_to_bool(v== *x)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator!= (const optional< T > &x, const U &v) -> decltype(optional_internal::convertible_to_bool(*x !=v)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator!= (const U &v, const optional< T > &x) -> decltype(optional_internal::convertible_to_bool(v != *x)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator< (const optional< T > &x, const U &v) -> decltype(optional_internal::convertible_to_bool(*x< v)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator< (const U &v, const optional< T > &x) -> decltype(optional_internal::convertible_to_bool(v< *x)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator<= (const optional< T > &x, const U &v) -> decltype(optional_internal::convertible_to_bool(*x<=v)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator<= (const U &v, const optional< T > &x) -> decltype(optional_internal::convertible_to_bool(v<= *x)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator> (const optional< T > &x, const U &v) -> decltype(optional_internal::convertible_to_bool(*x > v)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator> (const U &v, const optional< T > &x) -> decltype(optional_internal::convertible_to_bool(v > *x)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator>= (const optional< T > &x, const U &v) -> decltype(optional_internal::convertible_to_bool(*x >=v)) |
|
template<typename T , typename U > |
constexpr auto | phmap::operator>= (const U &v, const optional< T > &x) -> decltype(optional_internal::convertible_to_bool(v >= *x)) |
|
constexpr size_t | phmap::span_internal::Min (size_t a, size_t b) noexcept |
|
template<typename C > |
constexpr auto | phmap::span_internal::GetDataImpl (C &c, char) noexcept -> decltype(c.data()) |
|
char * | phmap::span_internal::GetDataImpl (std::string &s, int) noexcept |
|
template<typename C > |
constexpr auto | phmap::span_internal::GetData (C &c) noexcept -> decltype(GetDataImpl(c, 0)) |
|
template<typename T > |
bool | phmap::span_internal::EqualImpl (Span< T > a, Span< T > b) |
|
template<typename T > |
bool | phmap::span_internal::LessThanImpl (Span< T > a, Span< T > b) |
|
template<typename T > |
bool | phmap::operator== (Span< T > a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator== (const U &a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator== (Span< T > a, const U &b) |
|
template<typename T > |
bool | phmap::operator!= (Span< T > a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator!= (const U &a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator!= (Span< T > a, const U &b) |
|
template<typename T > |
bool | phmap::operator< (Span< T > a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator< (const U &a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator< (Span< T > a, const U &b) |
|
template<typename T > |
bool | phmap::operator> (Span< T > a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator> (const U &a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator> (Span< T > a, const U &b) |
|
template<typename T > |
bool | phmap::operator<= (Span< T > a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator<= (const U &a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator<= (Span< T > a, const U &b) |
|
template<typename T > |
bool | phmap::operator>= (Span< T > a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator>= (const U &a, Span< T > b) |
|
template<typename T , typename U , typename = span_internal::EnableIfConvertibleToSpanConst<U, T>> |
bool | phmap::operator>= (Span< T > a, const U &b) |
|
template<int &... ExplicitArgumentBarrier, typename T > |
constexpr Span< T > | phmap::MakeSpan (T *ptr, size_t size) noexcept |
|
template<int &... ExplicitArgumentBarrier, typename T > |
Span< T > | phmap::MakeSpan (T *begin, T *end) noexcept |
|
template<int &... ExplicitArgumentBarrier, typename C > |
constexpr auto | phmap::MakeSpan (C &c) noexcept -> decltype(phmap::MakeSpan(span_internal::GetData(c), c.size())) |
|
template<int &... ExplicitArgumentBarrier, typename T , size_t N> |
constexpr Span< T > | phmap::MakeSpan (T(&array)[N]) noexcept |
|
template<int &... ExplicitArgumentBarrier, typename T > |
constexpr Span< const T > | phmap::MakeConstSpan (T *ptr, size_t size) noexcept |
|
template<int &... ExplicitArgumentBarrier, typename T > |
Span< const T > | phmap::MakeConstSpan (T *begin, T *end) noexcept |
|
template<int &... ExplicitArgumentBarrier, typename C > |
constexpr auto | phmap::MakeConstSpan (const C &c) noexcept -> decltype(MakeSpan(c)) |
|
template<int &... ExplicitArgumentBarrier, typename T , size_t N> |
constexpr Span< const T > | phmap::MakeConstSpan (const T(&array)[N]) noexcept |
|
template<class Needle , class... Ts> |
constexpr size_t | phmap::priv::internal_layout::adl_barrier::Find (Needle, Needle, Ts...) |
|
template<class Needle , class T , class... Ts> |
constexpr size_t | phmap::priv::internal_layout::adl_barrier::Find (Needle, T, Ts...) |
|
constexpr bool | phmap::priv::internal_layout::adl_barrier::IsPow2 (size_t n) |
|
constexpr size_t | phmap::priv::internal_layout::adl_barrier::Align (size_t n, size_t m) |
|
constexpr size_t | phmap::priv::internal_layout::adl_barrier::Min (size_t a, size_t b) |
|
constexpr size_t | phmap::priv::internal_layout::adl_barrier::Max (size_t a) |
|
template<class... Ts> |
constexpr size_t | phmap::priv::internal_layout::adl_barrier::Max (size_t a, size_t b, Ts... rest) |
|
template<typename T > |
constexpr bool | phmap::priv::internal_compressed_tuple::IsFinal () |
|
template<typename T > |
constexpr bool | phmap::priv::internal_compressed_tuple::ShouldUseBase () |
|
template<size_t Alignment, class Alloc > |
void * | phmap::priv::Allocate (Alloc *alloc, size_t n) |
|
template<size_t Alignment, class Alloc > |
void | phmap::priv::Deallocate (Alloc *alloc, void *p, size_t n) |
|
void | phmap::priv::SanitizerPoisonMemoryRegion (const void *m, size_t s) |
|
void | phmap::priv::SanitizerUnpoisonMemoryRegion (const void *m, size_t s) |
|
template<typename T > |
void | phmap::priv::SanitizerPoisonObject (const T *object) |
|
template<typename T > |
void | phmap::priv::SanitizerUnpoisonObject (const T *object) |
|
template<typename T > |
const T & | phmap::thread_safety_analysis::ts_unchecked_read (const T &v) PHMAP_NO_THREAD_SAFETY_ANALYSIS |
|
template<typename T > |
T & | phmap::thread_safety_analysis::ts_unchecked_read (T &v) PHMAP_NO_THREAD_SAFETY_ANALYSIS |
|