Got rid of PermutationRange, I dont think it worked properly and I should have been using std::next_permutation anyway, which I am now.