pub struct FlagRef<T>(/* private fields */);Expand description
从FlagCell产生的轻量共享引用,可Clone,单线程使用
Implementations§
Source§impl<T> FlagRef<T>
impl<T> FlagRef<T>
pub fn ref_count(&self) -> isize
pub fn is_enabled(&self) -> bool
Sourcepub unsafe fn enable(&self) -> FlagRefOption<()>
pub unsafe fn enable(&self) -> FlagRefOption<()>
强制将数据逻辑启用
§SAFETY
本方法为逻辑不安全操作:无内存未定义行为、无 panic 风险。 暴露此方法是为了满足特定场景的便捷性需求。
此方法会虚构出一个 FlagCell ,可能造成其他相关类型功能异常。
Sourcepub unsafe fn disable(&self) -> FlagRefOption<()>
pub unsafe fn disable(&self) -> FlagRefOption<()>
强制将数据逻辑禁用
§SAFETY
本方法为逻辑不安全操作:无内存未定义行为、无 panic 风险。 暴露此方法是为了满足特定场景的便捷性需求。
此方法会强制 RefCell 失效,可能造成其他相关类型功能异常。
Sourcepub fn try_borrow(&self) -> FlagRefOption<Ref<'_, T>>
pub fn try_borrow(&self) -> FlagRefOption<Ref<'_, T>>
尝试借用内部值。
Sourcepub fn try_borrow_mut(&self) -> FlagRefOption<RefMut<'_, T>>
pub fn try_borrow_mut(&self) -> FlagRefOption<RefMut<'_, T>>
尝试可变借用内部值。
Sourcepub fn resurrect(&self) -> FlagRefOption<FlagCell<T>>
pub fn resurrect(&self) -> FlagRefOption<FlagCell<T>>
尝试复活 FlagCell
仅当前对应 FlagCell 销毁即数据逻辑禁用时,可复活,否则返回 Disabled 。
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for FlagRef<T>
impl<T> !RefUnwindSafe for FlagRef<T>
impl<T> !Send for FlagRef<T>
impl<T> !Sync for FlagRef<T>
impl<T> Unpin for FlagRef<T>
impl<T> UnsafeUnpin for FlagRef<T>
impl<T> !UnwindSafe for FlagRef<T>
Blanket Implementations§
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