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 | ||
) |