RMVL  1.2.0
Robotic Manipulation and Vision Library
Public 类型 | Public 成员函数 | 所有成员列表
rm::RaHeap< Tp, Sequence, Compare > 模板类 参考

支持随机访问的堆 更多...

#include <rmvl/rmath/ra_heap.hpp>

rm::RaHeap< Tp, Sequence, Compare > 的协作图:

Public 类型

typedef Sequence::value_type value_type
 
typedef Sequence::reference reference
 
typedef Sequence::const_reference const_reference
 
typedef Sequence::size_type size_type
 
typedef Sequence container_type
 
typedef Compare value_compare
 

Public 成员函数

 RaHeap ()=default
 
void push (const_reference x)
 在堆顶添加元素 更多...
 
void push (value_type &&x)
 在堆顶添加元素 更多...
 
template<typename ValueType >
void emplace (ValueType &&x)
 在堆顶添加元素 更多...
 
void update (const_reference prev, const_reference value)
 更新元素 更多...
 
void erase (const_reference value)
 删除指定元素 更多...
 
void pop ()
 弹出堆顶 更多...
 
bool empty ()
 堆是否为空 更多...
 
size_type size ()
 堆的大小 更多...
 
const_reference top () const
 获取堆顶元素 更多...
 
const container_typec () const
 导出容器 更多...
 

详细描述

template<typename Tp, typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
class rm::RaHeap< Tp, Sequence, Compare >

支持随机访问的堆

模板参数
Tp元素类型
Sequence容器类型,默认为 std::vector<Tp>
Compare比较器可调用对象,默认为 std::less<Tp>,即默认为大根堆

成员类型定义说明

◆ const_reference

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
typedef Sequence::const_reference rm::RaHeap< Tp, Sequence, Compare >::const_reference

◆ container_type

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
typedef Sequence rm::RaHeap< Tp, Sequence, Compare >::container_type

◆ reference

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
typedef Sequence::reference rm::RaHeap< Tp, Sequence, Compare >::reference

◆ size_type

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
typedef Sequence::size_type rm::RaHeap< Tp, Sequence, Compare >::size_type

◆ value_compare

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
typedef Compare rm::RaHeap< Tp, Sequence, Compare >::value_compare

◆ value_type

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
typedef Sequence::value_type rm::RaHeap< Tp, Sequence, Compare >::value_type

构造及析构函数说明

◆ RaHeap()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
rm::RaHeap< Tp, Sequence, Compare >::RaHeap ( )
default

成员函数说明

◆ c()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
const container_type& rm::RaHeap< Tp, Sequence, Compare >::c ( ) const
inline

导出容器

◆ emplace()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
template<typename ValueType >
void rm::RaHeap< Tp, Sequence, Compare >::emplace ( ValueType &&  x)
inline

在堆顶添加元素

参数
x待添加的元素

◆ empty()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
bool rm::RaHeap< Tp, Sequence, Compare >::empty ( )
inline

堆是否为空

函数调用图:

◆ erase()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
void rm::RaHeap< Tp, Sequence, Compare >::erase ( const_reference  value)
inline

删除指定元素

参数
value待删除的元素

◆ pop()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
void rm::RaHeap< Tp, Sequence, Compare >::pop ( )
inline

弹出堆顶

◆ push() [1/2]

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
void rm::RaHeap< Tp, Sequence, Compare >::push ( const_reference  x)
inline

在堆顶添加元素

参数
x待添加的元素

◆ push() [2/2]

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
void rm::RaHeap< Tp, Sequence, Compare >::push ( value_type &&  x)
inline

在堆顶添加元素

参数
x待添加的元素

◆ size()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
size_type rm::RaHeap< Tp, Sequence, Compare >::size ( )
inline

堆的大小

◆ top()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
const_reference rm::RaHeap< Tp, Sequence, Compare >::top ( ) const
inline

获取堆顶元素

◆ update()

template<typename Tp , typename Sequence = std::vector<Tp>, typename Compare = std::less<Tp>>
void rm::RaHeap< Tp, Sequence, Compare >::update ( const_reference  prev,
const_reference  value 
)
inline

更新元素

参数
prev之前的元素
value改动后的元素

该类的文档由以下文件生成: