![]() |
NIM 跨平台 C++ SDK
|
命名空间 | |
| namespace | hashtable_debug_internal |
| namespace | internal_compressed_tuple |
| namespace | internal_layout |
| namespace | memory_internal |
类型定义 | |
| template<typename Compare , typename T > | |
| using | btree_is_key_compare_to = std::is_convertible< phmap::invoke_result_t< Compare, const T &, const T & >, phmap::weak_ordering > |
| using | ctrl_t = signed char |
| using | h2_t = uint8_t |
| using | Group = GroupPortableImpl |
| template<class T > | |
| using | hash_default_hash = typename priv::HashEq< T >::Hash |
| template<class T > | |
| using | hash_default_eq = typename priv::HashEq< T >::Eq |
| template<class T > | |
| using | Allocator = typename phmap::Allocator< T > |
| template<class T1 , class T2 > | |
| using | Pair = typename phmap::Pair< T1, T2 > |
枚举 | |
| enum class | MatchKind : uint8_t { kEq , kNe } |
| enum | Ctrl : ctrl_t { kEmpty = -128 , kDeleted = -2 , kSentinel = -1 } |
函数 | |
| template<typename AllocType > | |
| void | SwapAlloc (AllocType &lhs, AllocType &rhs, std::true_type) |
| template<typename AllocType > | |
| void | SwapAlloc (AllocType &, AllocType &, std::false_type) |
| template<class T > | |
| constexpr bool | IsNoThrowSwappable () |
| template<typename T > | |
| int | TrailingZeros (T x) |
| template<typename T > | |
| int | LeadingZeros (T x) |
| ctrl_t * | EmptyGroup () |
| size_t | HashSeed (const ctrl_t *ctrl) |
| size_t | H1 (size_t hashval, const ctrl_t *) |
| h2_t | H2 (size_t hashval) |
| bool | IsEmpty (ctrl_t c) |
| bool | IsFull (ctrl_t c) |
| bool | IsDeleted (ctrl_t c) |
| bool | IsEmptyOrDeleted (ctrl_t c) |
| constexpr size_t | NumClonedBytes () |
| bool | IsValidCapacity (size_t n) |
| void | ConvertDeletedToEmptyAndFullToDeleted (ctrl_t *ctrl, size_t capacity) |
| size_t | NormalizeCapacity (size_t n) |
| size_t | CapacityToGrowth (size_t capacity) |
| size_t | GrowthToLowerboundCapacity (size_t growth) |
| void | RecordRehashSlow (HashtablezInfo *, size_t) |
| static void | RecordInsertSlow (HashtablezInfo *, size_t, size_t) |
| static void | RecordEraseSlow (HashtablezInfo *) |
| static HashtablezInfo * | SampleSlow (int64_t *) |
| static void | UnsampleSlow (HashtablezInfo *) |
| static HashtablezInfoHandle | Sample () |
| static void | SetHashtablezEnabled (bool) |
| static void | SetHashtablezSampleParameter (int32_t) |
| static void | SetHashtablezMaxSamples (int32_t) |
| size_t | RandomSeed () |
| template<class Alloc , class T , class Tuple > | |
| void | ConstructFromTuple (Alloc *alloc, T *ptr, Tuple &&t) |
| template<class T , class Tuple , class F > | |
| decltype(std::declval< F >()(std::declval< T >())) | WithConstructed (Tuple &&t, F &&f) |
| std::pair< std::tuple<>, std::tuple<> > | PairArgs () |
| template<class F , class S > | |
| std::pair< std::tuple< F && >, std::tuple< S && > > | PairArgs (F &&f, S &&s) |
| template<class F , class S > | |
| std::pair< std::tuple< const F & >, std::tuple< const S & > > | PairArgs (const std::pair< F, S > &p) |
| template<class F , class S > | |
| std::pair< std::tuple< F && >, std::tuple< S && > > | PairArgs (std::pair< F, S > &&p) |
| template<class F , class S > | |
| auto | PairArgs (std::piecewise_construct_t, F &&f, S &&s) -> decltype(std::make_pair(memory_internal::TupleRef(std::forward< F >(f)), memory_internal::TupleRef(std::forward< S >(s)))) |
| template<class F , class... Args> | |
| auto | DecomposePair (F &&f, Args &&... args) -> decltype(memory_internal::DecomposePairImpl(std::forward< F >(f), PairArgs(std::forward< Args >(args)...))) |
| template<class F , class Arg > | |
| decltype(std::declval< F >()(std::declval< const Arg & >(), std::declval< Arg >())) | DecomposeValue (F &&f, Arg &&arg) |
| template<class C , class Pred > | |
| std::size_t | erase_if (C &c, Pred pred) |
| template<size_t Alignment, class Alloc > | |
| void * | Allocate (Alloc *alloc, size_t n) |
| template<size_t Alignment, class Alloc > | |
| void | Deallocate (Alloc *alloc, void *p, size_t n) |
| void | SanitizerPoisonMemoryRegion (const void *m, size_t s) |
| void | SanitizerUnpoisonMemoryRegion (const void *m, size_t s) |
| template<typename T > | |
| void | SanitizerPoisonObject (const T *object) |
| template<typename T > | |
| void | SanitizerUnpoisonObject (const T *object) |
| using phmap::priv::Allocator = typedef typename phmap::Allocator<T> |
| using phmap::priv::btree_is_key_compare_to = typedef std::is_convertible<phmap::invoke_result_t<Compare, const T &, const T &>, phmap::weak_ordering> |
| using phmap::priv::ctrl_t = typedef signed char |
| using phmap::priv::Group = typedef GroupPortableImpl |
| using phmap::priv::h2_t = typedef uint8_t |
| using phmap::priv::hash_default_eq = typedef typename priv::HashEq<T>::Eq |
| using phmap::priv::hash_default_hash = typedef typename priv::HashEq<T>::Hash |
| using phmap::priv::Pair = typedef typename phmap::Pair<T1, T2> |
| enum phmap::priv::Ctrl : ctrl_t |
|
strong |
| void * phmap::priv::Allocate | ( | Alloc * | alloc, |
| size_t | n | ||
| ) |
|
inline |
| void phmap::priv::ConstructFromTuple | ( | Alloc * | alloc, |
| T * | ptr, | ||
| Tuple && | t | ||
| ) |
|
inline |
| void phmap::priv::Deallocate | ( | Alloc * | alloc, |
| void * | p, | ||
| size_t | n | ||
| ) |
| auto phmap::priv::DecomposePair | ( | F && | f, |
| Args &&... | args | ||
| ) | -> decltype(memory_internal::DecomposePairImpl( std::forward<F>(f), PairArgs(std::forward<Args>(args)...))) |
| decltype(std::declval< F >()(std::declval< const Arg & >(), std::declval< Arg >())) phmap::priv::DecomposeValue | ( | F && | f, |
| Arg && | arg | ||
| ) |
|
inline |
| std::size_t phmap::priv::erase_if | ( | C & | c, |
| Pred | pred | ||
| ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
constexpr |
|
inline |
| int phmap::priv::LeadingZeros | ( | T | x | ) |
|
inline |
|
constexpr |
|
inline |
| std::pair< std::tuple< const F & >, std::tuple< const S & > > phmap::priv::PairArgs | ( | const std::pair< F, S > & | p | ) |
| std::pair< std::tuple< F && >, std::tuple< S && > > phmap::priv::PairArgs | ( | F && | f, |
| S && | s | ||
| ) |
| std::pair< std::tuple< F && >, std::tuple< S && > > phmap::priv::PairArgs | ( | std::pair< F, S > && | p | ) |
| auto phmap::priv::PairArgs | ( | std::piecewise_construct_t | , |
| F && | f, | ||
| S && | s | ||
| ) | -> decltype(std::make_pair(memory_internal::TupleRef(std::forward<F>(f)), memory_internal::TupleRef(std::forward<S>(s)))) |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| void phmap::priv::SwapAlloc | ( | AllocType & | , |
| AllocType & | , | ||
| std::false_type | |||
| ) |
| void phmap::priv::SwapAlloc | ( | AllocType & | lhs, |
| AllocType & | rhs, | ||
| std::true_type | |||
| ) |
| int phmap::priv::TrailingZeros | ( | T | x | ) |
|
inlinestatic |
| decltype(std::declval< F >()(std::declval< T >())) phmap::priv::WithConstructed | ( | Tuple && | t, |
| F && | f | ||
| ) |