//! Transform indexes given some parameters
/// Mirror the index
pubmodmirror;/// Rotate the index
pubmodrotate;/// Translate the index
pubmodtranslate;/// Define a set of parameters to transform indexes
pubtraitTransform<const D: usize> {/// Apply a transformation to an index
fnapply(&self, index:&mut [isize; D]);/// Apply trasnformation to an index
fntransform(&self, index:&[isize; D])->[isize; D]{letmut new_index =*index;self.apply(&mut new_index);
new_index
}}/// Apply a sequence of transformations to an index
impl<const D:usize>Transform<D>for&[&dynTransform<D>] {/// Apply a sequence of transformations to an index
fnapply(&self, index:&mut [isize; D]){for trs inself.iter(){
trs.apply(index);}}}