[board] Implement FromIterator for BitBoard
This commit is contained in:
parent
f337b8053d
commit
e56b3259e2
1 changed files with 13 additions and 1 deletions
|
@ -1,7 +1,7 @@
|
|||
// Eryn Wells <eryn@erynwells.me>
|
||||
|
||||
use super::library::{library, FILES, RANKS};
|
||||
use super::{LeadingBitScanner, TrailingBitScanner};
|
||||
use super::LeadingBitScanner;
|
||||
use crate::{square::Direction, Square};
|
||||
use std::fmt;
|
||||
use std::ops::{BitAnd, BitAndAssign, BitOr, BitOrAssign, Not};
|
||||
|
@ -87,6 +87,18 @@ impl From<Square> for BitBoard {
|
|||
}
|
||||
}
|
||||
|
||||
impl FromIterator<Square> for BitBoard {
|
||||
fn from_iter<T: IntoIterator<Item = Square>>(iter: T) -> Self {
|
||||
let mut builder = BitBoardBuilder::empty();
|
||||
|
||||
for sq in iter {
|
||||
builder = builder.square(sq)
|
||||
}
|
||||
|
||||
builder.build()
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Binary for BitBoard {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
// Delegate to u64's implementation of Binary.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue