[][src]Trait tydi::Reverse

pub trait Reverse {
    fn reverse(&mut self);
}

In-place reverse.

Implementing Reverse

use tydi::{Reverse, Reversed};

#[derive(Clone, Copy, Debug, PartialEq)]
struct A {
    in_port: bool,
    size: u32,
}

impl Reverse for A {
    fn reverse(&mut self) {
        self.in_port = !self.in_port;
    }
}

let mut a = A { in_port: false, size: 42 };
a.reverse();
assert!(a.in_port);
a.reverse();
assert!(!a.in_port);
let b = A { in_port: true, size: 42 };
assert_eq!(a.reversed(), b);

Required methods

fn reverse(&mut self)

Reverse in-place.

Loading content...

Implementors

impl Reverse for Direction[src]

fn reverse(&mut self)[src]

Reverse this direction.

Examples

use tydi::{Reverse, Reversed, logical::Direction};

let mut forward = Direction::Forward;
let mut reverse = Direction::Reverse;

forward.reverse();
assert_eq!(forward, reverse);

forward.reverse();
assert_eq!(forward, reverse.reversed());

impl Reverse for Stream[src]

fn reverse(&mut self)[src]

Reverse the direction of this stream.

This flips the Direction of the stream.

Loading content...