#[repr(C)]pub struct priority_queue<T: AbiType + 'static> { /* private fields */ }
Expand description
对应std::priority_queue<T>
需和include/hicc/std/queue.hpp
接口定义保持一致.
Implementations§
Source§impl<T: AbiType + 'static> priority_queue<T>
impl<T: AbiType + 'static> priority_queue<T>
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
use hicc_std::PriorityQueueInt;
let mut priority_queue = PriorityQueueInt::new();
assert!(priority_queue.is_empty());
priority_queue.push(&1);
assert!(!priority_queue.is_empty());
Sourcepub fn size(&self) -> usize
pub fn size(&self) -> usize
use hicc_std::PriorityQueueInt;
let mut priority_queue = PriorityQueueInt::new();
assert_eq!(priority_queue.size(), 0);
priority_queue.push(&1);
assert_eq!(priority_queue.size(), 1);
Sourcepub fn pop(&mut self)
pub fn pop(&mut self)
use hicc_std::PriorityQueueInt;
let mut priority_queue = PriorityQueueInt::new();
priority_queue.push(&1);
assert_eq!(priority_queue.size(), 1);
priority_queue.pop();
assert_eq!(priority_queue.size(), 0);
Sourcepub fn push(&mut self, val: <T as AbiType>::InputRef<'_>)
pub fn push(&mut self, val: <T as AbiType>::InputRef<'_>)
use hicc_std::PriorityQueueInt;
let mut priority_queue = PriorityQueueInt::new();
priority_queue.push(&1);
assert_eq!(priority_queue.top(), &1);
Sourcepub fn top<'a>(&'a self) -> <T as AbiType>::OutputRef<'a>
pub fn top<'a>(&'a self) -> <T as AbiType>::OutputRef<'a>
use hicc_std::PriorityQueueInt;
let mut priority_queue = PriorityQueueInt::new();
priority_queue.push(&1);
priority_queue.push(&3);
priority_queue.push(&2);
assert_eq!(priority_queue.top(), &3);
Sourcepub fn swap(&mut self, other: <priority_queue<T> as AbiType>::InputRefMut<'_>)
pub fn swap(&mut self, other: <priority_queue<T> as AbiType>::InputRefMut<'_>)
use hicc_std::PriorityQueueInt;
let mut priority_queue = PriorityQueueInt::new();
priority_queue.push(&1);
let mut other = PriorityQueueInt::new();
other.push(&2);
assert_eq!(priority_queue.top(), &1);
assert_eq!(other.top(), &2);
priority_queue.swap(&mut other);
assert_eq!(priority_queue.top(), &2);
assert_eq!(other.top(), &1);
Trait Implementations§
Source§impl<T: AbiType + 'static> AbiClass for priority_queue<T>
impl<T: AbiType + 'static> AbiClass for priority_queue<T>
Source§unsafe fn into_unique(self) -> Self
unsafe fn into_unique(self) -> Self
§unsafety
返回对象析构时会强制释放c++
侧的资源, 需要使用者保证正确性
Source§fn get_raw_obj(&self) -> *const ()
fn get_raw_obj(&self) -> *const ()
仅内部使用.指针携带附加信息,不能转换为
c++
类指针.fn as_ptr(&self) -> ClassPtr<'_, Self>
fn as_mut_ptr(&mut self) -> ClassMutPtr<'_, Self>
fn as_ref(&self) -> ClassRef<'_, Self>
fn as_mut(&mut self) -> ClassRefMut<'_, Self>
fn into_ref(self) -> ClassRef<'static, Self>
fn into_mut(self) -> ClassRefMut<'static, Self>
fn into_ptr(self) -> ClassPtr<'static, Self>
fn into_mut_ptr(self) -> ClassMutPtr<'static, Self>
Source§impl<T: AbiType + 'static> Debug for priority_queue<T>
impl<T: AbiType + 'static> Debug for priority_queue<T>
Source§impl<T: AbiType + 'static> Drop for priority_queue<T>
impl<T: AbiType + 'static> Drop for priority_queue<T>
impl<T: AbiType + Sync> Send for priority_queue<T>
impl<T: AbiType + Sync> Sync for priority_queue<T>
Auto Trait Implementations§
impl<T> Freeze for priority_queue<T>
impl<T> RefUnwindSafe for priority_queue<T>
impl<T> Unpin for priority_queue<T>
impl<T> UnwindSafe for priority_queue<T>
Blanket Implementations§
Source§impl<T> AbiType for Twhere
T: AbiClass,
impl<T> AbiType for Twhere
T: AbiClass,
type InputType = T
type InputRef<'a> = &'a T where T: 'a
type InputRefMut<'a> = &'a mut T where T: 'a
type InputPtr<'a, P, const N: usize> = &'a ClassPtr<'a, T, N> where T: 'a
type InputMutPtr<'a, P, const N: usize> = &'a ClassMutPtr<'a, T, N> where T: 'a
type OutputType = T
type OutputRef<'a> = ClassRef<'a, T> where T: 'a
type OutputRefMut<'a> = ClassRefMut<'a, T> where T: 'a
type OutputPtr<'a, P, const N: usize> = ClassPtr<'a, T, N> where T: 'a
type OutputMutPtr<'a, P, const N: usize> = ClassMutPtr<'a, T, N> where T: 'a
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more