NIM 跨平台 C++ SDK
载入中...
搜索中...
未找到
phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy > 模板结构体 参考

#include <btree.h>

Public 类型

enum  { kTargetNodeSize = TargetNodeSize , kNodeSlotSpace }
 
using key_compare = typename key_compare_to_adapter< Compare >::type
 
using is_key_compare_to = btree_is_key_compare_to< key_compare, Key >
 
using allocator_type = Alloc
 
using key_type = Key
 
using size_type = std::size_t
 
using difference_type = ptrdiff_t
 
using is_multi_container = std::integral_constant< bool, Multi >
 
using slot_policy = SlotPolicy
 
using slot_type = typename slot_policy::slot_type
 
using value_type = typename slot_policy::value_type
 
using init_type = typename slot_policy::mutable_value_type
 
using pointer = value_type *
 
using const_pointer = const value_type *
 
using reference = value_type &
 
using const_reference = const value_type &
 
using node_count_type = phmap::conditional_t<(kNodeSlotSpace/sizeof(slot_type) >(std::numeric_limits< uint8_t >::max)()), uint16_t, uint8_t >
 

静态 Public 成员函数

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

成员类型定义说明

◆ allocator_type

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::allocator_type = Alloc

◆ const_pointer

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::const_pointer = const value_type *

◆ const_reference

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::const_reference = const value_type &

◆ difference_type

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::difference_type = ptrdiff_t

◆ init_type

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::init_type = typename slot_policy::mutable_value_type

◆ is_key_compare_to

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::is_key_compare_to = btree_is_key_compare_to<key_compare, Key>

◆ is_multi_container

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::is_multi_container = std::integral_constant<bool, Multi>

◆ key_compare

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::key_compare = typename key_compare_to_adapter<Compare>::type

◆ key_type

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::key_type = Key

◆ node_count_type

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::node_count_type = phmap::conditional_t<(kNodeSlotSpace / sizeof(slot_type) > (std::numeric_limits<uint8_t>::max)()), uint16_t, uint8_t>

◆ pointer

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::pointer = value_type *

◆ reference

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::reference = value_type &

◆ size_type

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::size_type = std::size_t

◆ slot_policy

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::slot_policy = SlotPolicy

◆ slot_type

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::slot_type = typename slot_policy::slot_type

◆ value_type

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
using phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::value_type = typename slot_policy::value_type

成员枚举类型说明

◆ anonymous enum

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
anonymous enum
枚举值
kTargetNodeSize 
kNodeSlotSpace 

成员函数说明

◆ construct() [1/2]

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
template<class... Args>
static void phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::construct ( Alloc *  alloc,
slot_type slot,
Args &&...  args 
)
inlinestatic

◆ construct() [2/2]

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
static void phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::construct ( Alloc *  alloc,
slot_type slot,
slot_type other 
)
inlinestatic

◆ destroy()

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
static void phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::destroy ( Alloc *  alloc,
slot_type slot 
)
inlinestatic

◆ element() [1/2]

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
static const value_type & phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::element ( const slot_type slot)
inlinestatic

◆ element() [2/2]

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
static value_type & phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::element ( slot_type slot)
inlinestatic

◆ move() [1/2]

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
static void phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::move ( Alloc *  alloc,
slot_type first,
slot_type last,
slot_type result 
)
inlinestatic

◆ move() [2/2]

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
static void phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::move ( Alloc *  alloc,
slot_type src,
slot_type dest 
)
inlinestatic

◆ swap()

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
static void phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::swap ( Alloc *  alloc,
slot_type a,
slot_type b 
)
inlinestatic

◆ transfer()

template<typename Key , typename Compare , typename Alloc , int TargetNodeSize, bool Multi, typename SlotPolicy >
static void phmap::priv::common_params< Key, Compare, Alloc, TargetNodeSize, Multi, SlotPolicy >::transfer ( Alloc *  alloc,
slot_type new_slot,
slot_type old_slot 
)
inlinestatic

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