Tue, 20 Feb 2024 12:33:16 -0500
Logarithmic logging base correction
use std::marker::PhantomData; /// Standard identifier for a [`Support`][super::support::Support] stored in a /// [`BTImpl`][super::bt::BTImpl] as [`BTImpl::Data`][super::bt::BTImpl::Data]. #[derive(Debug)] pub struct SupportId<S> { pub id : usize, _phantom : PhantomData<S> } // derive fails so need to do Copy and Clone manually impl<S> Clone for SupportId<S> { fn clone(&self) -> Self { SupportId { id : self.id, _phantom : PhantomData } } } impl<S> Copy for SupportId<S> {} impl<S> From<u32> for SupportId<S> { #[inline] fn from(id : u32) -> SupportId<S> { SupportId { id : id as usize, _phantom : PhantomData } } } impl<S> From<usize> for SupportId<S> { #[inline] fn from(id : usize) -> SupportId<S> { SupportId { id : id, _phantom : PhantomData } } } impl<S> Into<usize> for SupportId<S> { #[inline] fn into(self) -> usize { self.id } }