NIM 跨平台 C++ SDK
载入中...
搜索中...
未找到
phmap::priv::map_slot_policy< K, V > 模板结构体 参考

#include <phmap_base.h>

Public 类型

using slot_type = map_slot_type<K, V>
 
using value_type = std::pair<const K, V>
 
using mutable_value_type = std::pair<K, V>
 

静态 Public 成员函数

static value_typeelement (slot_type *slot)
 
static const value_typeelement (const slot_type *slot)
 
static const K & key (const slot_type *slot)
 
template<class Allocator , class... Args>
static void construct (Allocator *alloc, slot_type *slot, Args &&... args)
 
template<class Allocator >
static void construct (Allocator *alloc, slot_type *slot, slot_type *other)
 
template<class Allocator >
static void destroy (Allocator *alloc, slot_type *slot)
 
template<class Allocator >
static void transfer (Allocator *alloc, slot_type *new_slot, slot_type *old_slot)
 
template<class Allocator >
static void swap (Allocator *alloc, slot_type *a, slot_type *b)
 
template<class Allocator >
static void move (Allocator *alloc, slot_type *src, slot_type *dest)
 
template<class Allocator >
static void move (Allocator *alloc, slot_type *first, slot_type *last, slot_type *result)
 

Private 类型

using kMutableKeys = memory_internal::IsLayoutCompatible<K, V>
 

静态 Private 成员函数

static void emplace (slot_type *slot)
 

成员类型定义说明

◆ kMutableKeys

template<class K , class V >
using phmap::priv::map_slot_policy< K, V >::kMutableKeys = memory_internal::IsLayoutCompatible<K, V>
private

◆ mutable_value_type

template<class K , class V >
using phmap::priv::map_slot_policy< K, V >::mutable_value_type = std::pair<K, V>

◆ slot_type

template<class K , class V >
using phmap::priv::map_slot_policy< K, V >::slot_type = map_slot_type<K, V>

◆ value_type

template<class K , class V >
using phmap::priv::map_slot_policy< K, V >::value_type = std::pair<const K, V>

成员函数说明

◆ construct() [1/2]

template<class K , class V >
template<class Allocator , class... Args>
static void phmap::priv::map_slot_policy< K, V >::construct ( Allocator * alloc,
slot_type * slot,
Args &&... args )
inlinestatic

◆ construct() [2/2]

template<class K , class V >
template<class Allocator >
static void phmap::priv::map_slot_policy< K, V >::construct ( Allocator * alloc,
slot_type * slot,
slot_type * other )
inlinestatic

◆ destroy()

template<class K , class V >
template<class Allocator >
static void phmap::priv::map_slot_policy< K, V >::destroy ( Allocator * alloc,
slot_type * slot )
inlinestatic

◆ element() [1/2]

template<class K , class V >
static const value_type & phmap::priv::map_slot_policy< K, V >::element ( const slot_type * slot)
inlinestatic

◆ element() [2/2]

template<class K , class V >
static value_type & phmap::priv::map_slot_policy< K, V >::element ( slot_type * slot)
inlinestatic

◆ emplace()

template<class K , class V >
static void phmap::priv::map_slot_policy< K, V >::emplace ( slot_type * slot)
inlinestaticprivate

◆ key()

template<class K , class V >
static const K & phmap::priv::map_slot_policy< K, V >::key ( const slot_type * slot)
inlinestatic

◆ move() [1/2]

template<class K , class V >
template<class Allocator >
static void phmap::priv::map_slot_policy< K, V >::move ( Allocator * alloc,
slot_type * first,
slot_type * last,
slot_type * result )
inlinestatic

◆ move() [2/2]

template<class K , class V >
template<class Allocator >
static void phmap::priv::map_slot_policy< K, V >::move ( Allocator * alloc,
slot_type * src,
slot_type * dest )
inlinestatic

◆ swap()

template<class K , class V >
template<class Allocator >
static void phmap::priv::map_slot_policy< K, V >::swap ( Allocator * alloc,
slot_type * a,
slot_type * b )
inlinestatic

◆ transfer()

template<class K , class V >
template<class Allocator >
static void phmap::priv::map_slot_policy< K, V >::transfer ( Allocator * alloc,
slot_type * new_slot,
slot_type * old_slot )
inlinestatic

该结构体的文档由以下文件生成: