pub struct TagMSB;
Expand description
A struct represnting the method of tagging using only the MSB
of a number
Trait Implementations§
Source§impl Ord for TagMSB
impl Ord for TagMSB
Source§impl PartialOrd for TagMSB
impl PartialOrd for TagMSB
Source§impl TaggableValue<TagMSB, Two> for u16
impl TaggableValue<TagMSB, Two> for u16
Source§fn untag_in_place(v: &mut TagWrapper<u16, TagMSB>)
fn untag_in_place(v: &mut TagWrapper<u16, TagMSB>)
Untags a value in place
Source§fn tag_in_place(v: &mut TagWrapper<u16, TagMSB>, o: Two)
fn tag_in_place(v: &mut TagWrapper<u16, TagMSB>, o: Two)
Tag a value in place
Source§fn change_tag(v: &mut TagWrapper<u16, TagMSB>, o: Two)
fn change_tag(v: &mut TagWrapper<u16, TagMSB>, o: Two)
Change the tag on an already tagged value
Source§unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<u16, TagMSB>
unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<u16, TagMSB>
Return a tagged (but otherwise uninitialized) value
Source§fn fmt_untagged(v: &TagWrapper<u16, TagMSB>, f: &mut Formatter<'_>) -> Result
fn fmt_untagged(v: &TagWrapper<u16, TagMSB>, f: &mut Formatter<'_>) -> Result
A helper debug printing a value as though it weren’t tagged
Source§fn eq(a: &TagWrapper<u16, TagMSB>, b: &TagWrapper<u16, TagMSB>) -> bool
fn eq(a: &TagWrapper<u16, TagMSB>, b: &TagWrapper<u16, TagMSB>) -> bool
A helper testing equality between tagged items
Source§fn ne(a: &TagWrapper<u16, TagMSB>, b: &TagWrapper<u16, TagMSB>) -> bool
fn ne(a: &TagWrapper<u16, TagMSB>, b: &TagWrapper<u16, TagMSB>) -> bool
A helper testing inequality between tagged items
Source§impl TaggableValue<TagMSB, Two> for u32
impl TaggableValue<TagMSB, Two> for u32
Source§fn untag_in_place(v: &mut TagWrapper<u32, TagMSB>)
fn untag_in_place(v: &mut TagWrapper<u32, TagMSB>)
Untags a value in place
Source§fn tag_in_place(v: &mut TagWrapper<u32, TagMSB>, o: Two)
fn tag_in_place(v: &mut TagWrapper<u32, TagMSB>, o: Two)
Tag a value in place
Source§fn change_tag(v: &mut TagWrapper<u32, TagMSB>, o: Two)
fn change_tag(v: &mut TagWrapper<u32, TagMSB>, o: Two)
Change the tag on an already tagged value
Source§unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<u32, TagMSB>
unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<u32, TagMSB>
Return a tagged (but otherwise uninitialized) value
Source§fn fmt_untagged(v: &TagWrapper<u32, TagMSB>, f: &mut Formatter<'_>) -> Result
fn fmt_untagged(v: &TagWrapper<u32, TagMSB>, f: &mut Formatter<'_>) -> Result
A helper debug printing a value as though it weren’t tagged
Source§fn eq(a: &TagWrapper<u32, TagMSB>, b: &TagWrapper<u32, TagMSB>) -> bool
fn eq(a: &TagWrapper<u32, TagMSB>, b: &TagWrapper<u32, TagMSB>) -> bool
A helper testing equality between tagged items
Source§fn ne(a: &TagWrapper<u32, TagMSB>, b: &TagWrapper<u32, TagMSB>) -> bool
fn ne(a: &TagWrapper<u32, TagMSB>, b: &TagWrapper<u32, TagMSB>) -> bool
A helper testing inequality between tagged items
Source§impl TaggableValue<TagMSB, Two> for u64
impl TaggableValue<TagMSB, Two> for u64
Source§fn untag_in_place(v: &mut TagWrapper<u64, TagMSB>)
fn untag_in_place(v: &mut TagWrapper<u64, TagMSB>)
Untags a value in place
Source§fn tag_in_place(v: &mut TagWrapper<u64, TagMSB>, o: Two)
fn tag_in_place(v: &mut TagWrapper<u64, TagMSB>, o: Two)
Tag a value in place
Source§fn change_tag(v: &mut TagWrapper<u64, TagMSB>, o: Two)
fn change_tag(v: &mut TagWrapper<u64, TagMSB>, o: Two)
Change the tag on an already tagged value
Source§unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<u64, TagMSB>
unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<u64, TagMSB>
Return a tagged (but otherwise uninitialized) value
Source§fn fmt_untagged(v: &TagWrapper<u64, TagMSB>, f: &mut Formatter<'_>) -> Result
fn fmt_untagged(v: &TagWrapper<u64, TagMSB>, f: &mut Formatter<'_>) -> Result
A helper debug printing a value as though it weren’t tagged
Source§fn eq(a: &TagWrapper<u64, TagMSB>, b: &TagWrapper<u64, TagMSB>) -> bool
fn eq(a: &TagWrapper<u64, TagMSB>, b: &TagWrapper<u64, TagMSB>) -> bool
A helper testing equality between tagged items
Source§fn ne(a: &TagWrapper<u64, TagMSB>, b: &TagWrapper<u64, TagMSB>) -> bool
fn ne(a: &TagWrapper<u64, TagMSB>, b: &TagWrapper<u64, TagMSB>) -> bool
A helper testing inequality between tagged items
Source§impl TaggableValue<TagMSB, Two> for u8
impl TaggableValue<TagMSB, Two> for u8
Source§fn untag_in_place(v: &mut TagWrapper<u8, TagMSB>)
fn untag_in_place(v: &mut TagWrapper<u8, TagMSB>)
Untags a value in place
Source§fn tag_in_place(v: &mut TagWrapper<u8, TagMSB>, o: Two)
fn tag_in_place(v: &mut TagWrapper<u8, TagMSB>, o: Two)
Tag a value in place
Source§fn change_tag(v: &mut TagWrapper<u8, TagMSB>, o: Two)
fn change_tag(v: &mut TagWrapper<u8, TagMSB>, o: Two)
Change the tag on an already tagged value
Source§unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<u8, TagMSB>
unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<u8, TagMSB>
Return a tagged (but otherwise uninitialized) value
Source§fn fmt_untagged(v: &TagWrapper<u8, TagMSB>, f: &mut Formatter<'_>) -> Result
fn fmt_untagged(v: &TagWrapper<u8, TagMSB>, f: &mut Formatter<'_>) -> Result
A helper debug printing a value as though it weren’t tagged
Source§fn eq(a: &TagWrapper<u8, TagMSB>, b: &TagWrapper<u8, TagMSB>) -> bool
fn eq(a: &TagWrapper<u8, TagMSB>, b: &TagWrapper<u8, TagMSB>) -> bool
A helper testing equality between tagged items
Source§fn ne(a: &TagWrapper<u8, TagMSB>, b: &TagWrapper<u8, TagMSB>) -> bool
fn ne(a: &TagWrapper<u8, TagMSB>, b: &TagWrapper<u8, TagMSB>) -> bool
A helper testing inequality between tagged items
Source§impl TaggableValue<TagMSB, Two> for usize
impl TaggableValue<TagMSB, Two> for usize
Source§fn untag_in_place(v: &mut TagWrapper<usize, TagMSB>)
fn untag_in_place(v: &mut TagWrapper<usize, TagMSB>)
Untags a value in place
Source§fn tag_in_place(v: &mut TagWrapper<usize, TagMSB>, o: Two)
fn tag_in_place(v: &mut TagWrapper<usize, TagMSB>, o: Two)
Tag a value in place
Source§fn change_tag(v: &mut TagWrapper<usize, TagMSB>, o: Two)
fn change_tag(v: &mut TagWrapper<usize, TagMSB>, o: Two)
Change the tag on an already tagged value
Source§unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<usize, TagMSB>
unsafe fn uninitialized_from_tag(o: Two) -> TagWrapper<usize, TagMSB>
Return a tagged (but otherwise uninitialized) value
Source§fn fmt_untagged(v: &TagWrapper<usize, TagMSB>, f: &mut Formatter<'_>) -> Result
fn fmt_untagged(v: &TagWrapper<usize, TagMSB>, f: &mut Formatter<'_>) -> Result
A helper debug printing a value as though it weren’t tagged
Source§fn eq(a: &TagWrapper<usize, TagMSB>, b: &TagWrapper<usize, TagMSB>) -> bool
fn eq(a: &TagWrapper<usize, TagMSB>, b: &TagWrapper<usize, TagMSB>) -> bool
A helper testing equality between tagged items
Source§fn ne(a: &TagWrapper<usize, TagMSB>, b: &TagWrapper<usize, TagMSB>) -> bool
fn ne(a: &TagWrapper<usize, TagMSB>, b: &TagWrapper<usize, TagMSB>) -> bool
A helper testing inequality between tagged items
impl Copy for TagMSB
impl Eq for TagMSB
impl StructuralPartialEq for TagMSB
impl UntaggedZero<TagMSB, Two> for u16
impl UntaggedZero<TagMSB, Two> for u32
impl UntaggedZero<TagMSB, Two> for u64
impl UntaggedZero<TagMSB, Two> for u8
impl UntaggedZero<TagMSB, Two> for usize
Auto Trait Implementations§
impl Freeze for TagMSB
impl RefUnwindSafe for TagMSB
impl Send for TagMSB
impl Sync for TagMSB
impl Unpin for TagMSB
impl UnwindSafe for TagMSB
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