heh
Diffstat (limited to 'src/util.rs')
| -rw-r--r-- | src/util.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/util.rs b/src/util.rs index 55cbd44..e762270 100644 --- a/src/util.rs +++ b/src/util.rs @@ -22,8 +22,8 @@ use std::{ pub mod prelude { pub use super::{ AndF, BoolTools, DigiCount, Dir, FilterBy, FilterBy3, GreekTools, GridFind, - IntoCombinations, IntoLines, IterͶ, MapWith, NumTupleIterTools, ParseIter, PartitionByKey, - Position, Printable, Skip, Splib, SplitU8, Str, TakeLine, TupleIterTools2, + IntoCombinations, IntoLines, IterͶ, MapWith, NumTupleIterTools, PRead, ParseIter, + PartitionByKey, Position, Printable, Skip, Splib, SplitU8, Str, TakeLine, TupleIterTools2, TupleIterTools2R, TupleIterTools3, TupleUtils, TwoWayMapCollect, UnifiedTupleUtils, UnsoundUtilities, Widen, countmap, even, gcd, gt, infinite_successors, l, lcm, lt, nail, pa, python, r, rand, reading, reading::Ext, sort, spiral, twice, Ͷ, Α, Ι, Κ, Λ, Μ, @@ -2289,3 +2289,13 @@ impl<T: PartialEq> Position<T> for [T] { self.iter().position(|y| &x == y).ψ() } } +pub trait PRead<T> { + unsafe fn λ(&mut self) -> T; +} +impl<T> PRead<T> for *const T { + unsafe fn λ(&mut self) -> T { + let b = self.read(); + *self = self.add(1); + b + } +} |