]> git.lizzy.rs Git - enumset.git/blobdiff - enumset/src/repr.rs
use trailing zeros count for iteration
[enumset.git] / enumset / src / repr.rs
index eb0f9153b3b09fedf1afb63c8c4c12cd9f630d6f..5fc2cd0e54f6259af43e6f44b7b3d36a2a8ca707 100644 (file)
@@ -30,6 +30,7 @@ pub trait EnumSetTypeRepr :
     fn count_ones(&self) -> u32;
     fn count_remaining_ones(&self, cursor: u32) -> usize;
     fn leading_zeros(&self) -> u32;
+    fn trailing_zeros(&self) -> u32;
 
     fn and_not(&self, other: Self) -> Self;
 
@@ -81,6 +82,7 @@ macro_rules! prim {
 
             fn count_ones(&self) -> u32 { (*self).count_ones() }
             fn leading_zeros(&self) -> u32 { (*self).leading_zeros() }
+            fn trailing_zeros(&self) -> u32 { (*self).trailing_zeros() }
 
             fn and_not(&self, other: Self) -> Self { (*self) & !other }