diff options
author | Dennis Kobert <dennis@kobert.dev> | 2020-01-05 22:39:18 +0100 |
---|---|---|
committer | Dennis Kobert <dennis@kobert.dev> | 2020-01-05 22:39:18 +0100 |
commit | d343b5e10ec2dbd526decbfa984168cf2509f48c (patch) | |
tree | 6d62761a15a93d70ba68214cdb4f6f64a2e96071 /src/solver.rs | |
parent | c583ee4faa552962594f7d5bf9b57bf62b6db5c0 (diff) | |
parent | 492045e538cf806bb49631dfbbaabbd8b566147e (diff) |
Merge branch 'master' of kobert:/var/repos/babel
Diffstat (limited to 'src/solver.rs')
-rwxr-xr-x | src/solver.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/solver.rs b/src/solver.rs index 809ddb4..db4e732 100755 --- a/src/solver.rs +++ b/src/solver.rs @@ -8,10 +8,16 @@ pub fn wall_stats(n: u32) -> (u32, u32) { pub trait Solver { fn new(n: u32) -> Self; - fn solve(&mut self) -> StoneWall; fn n(&self) -> u32; - fn h(&self) -> u32; - fn w(&self) -> u32; } + +pub trait FirstSolver { + fn solve(self) -> StoneWall; +} + +pub trait IteratorSolver: Solver { + type IntoIter: Iterator<Item=StoneWall>; + fn solve(self) -> Self::IntoIter; +} |