Trait Grid

Source
pub trait Grid<T>
where Self: Sized,
{ // Required methods fn get_adj_4(&self, rrange: (T, T), crange: (T, T)) -> Vec<Self>; fn get_adj_8(&self, rrange: (T, T), crange: (T, T)) -> Vec<Self>; fn right(&self) -> (T, T); fn upright(&self) -> (T, T); fn up(&self) -> (T, T); fn upleft(&self) -> (T, T); fn left(&self) -> (T, T); fn downleft(&self) -> (T, T); fn down(&self) -> (T, T); fn downright(&self) -> (T, T); }
Expand description

グリッドの探索

Required Methods§

Source

fn get_adj_4(&self, rrange: (T, T), crange: (T, T)) -> Vec<Self>

座標(i,j)に上下左右で隣接する座標を取得 (グリッドサイズHxWでバリデーション)

探索順

   2
   ↑
3 ← → 1
   ↓
   4
Source

fn get_adj_8(&self, rrange: (T, T), crange: (T, T)) -> Vec<Self>

座標(i,j)に8方向で隣接する座標を取得 (グリッドサイズHxWでバリデーション)

探索順

4  3  2
  ↖↑↗
5 ← → 1
  ↙↓➘
6  7  8
Source

fn right(&self) -> (T, T)

右のセルを返す

Source

fn upright(&self) -> (T, T)

右上のセルを返す

Source

fn up(&self) -> (T, T)

上のセルを返す

Source

fn upleft(&self) -> (T, T)

左上のセルを返す

Source

fn left(&self) -> (T, T)

左のセルを返す

Source

fn downleft(&self) -> (T, T)

左下のセルを返す

Source

fn down(&self) -> (T, T)

下のセルを返す

Source

fn downright(&self) -> (T, T)

右下のセルを返す

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T> Grid<T> for (T, T)

Source§

fn right(&self) -> (T, T)

Source§

fn upright(&self) -> (T, T)

Source§

fn up(&self) -> (T, T)

Source§

fn upleft(&self) -> (T, T)

Source§

fn left(&self) -> (T, T)

Source§

fn downleft(&self) -> (T, T)

Source§

fn down(&self) -> (T, T)

Source§

fn downright(&self) -> (T, T)

Source§

fn get_adj_4(&self, rrange: (T, T), crange: (T, T)) -> Vec<Self>

Source§

fn get_adj_8(&self, rrange: (T, T), crange: (T, T)) -> Vec<Self>

Implementors§