quickbacktrack
quickbacktrack copied to clipboard
Is this crate designed to solve a problem of I/O combination sets?
I have the following scenario:
- Two sources (imagine, directories) - (S1, S2)
- List of files (resources) - (R1, R2, R3)
- The code is synchronous, so testing of partial solutions happens sequentially
- I am building an iterator that is mean to return a list of solutions to the problem like this:
-
[S1xR1, S1xR2, S1xR3]
-
[S1xR1, S1xR2, S2xR3]
-
[S1xR1, S2xR2, S2xR3]
-
[S2xR1, S2xR2, S2xR3]
-
[S2xR1, S1xR2, S2xR3]
-
[S2xR1, S1xR2, S1xR3]
-
[S1xR1, S2xR2, S1xR3]
-
[S2xR1, S2xR2, S1xR3]
-
It's not very important for me which order the fallbacks come in.
What I do care is about backtracking/pruning of failure branches. If S2xR2
returns false, it should break any attempt at constructing any combination with that branch.
Does this crate solve such problem? Can I get pointed at any examples?
This is an interesting use case.
Perhaps we could implement (U, T) : Puzzle
where U : Puzzle
and T : Puzzle
?