h48

A prototype for an optimal Rubik's cube solver, work in progress.
git clone https://git.tronto.net/h48
Download | Log | Files | Refs | README | LICENSE

commit 6b3f40ac441fede250b9c381952fafd8aac28bd5
parent a54aca8c923609cc4e786b19a06abf7cacb6645a
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Tue, 15 Apr 2025 09:23:01 +0200

Added data check status to solver in cpp API

Diffstat:
Mcpp/nissy.cpp | 8+++++---
Mcpp/nissy.h | 3++-
2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/cpp/nissy.cpp b/cpp/nissy.cpp @@ -166,11 +166,13 @@ namespace nissy { ifs.read(reinterpret_cast<char *>(data.data()), size); } - error solver::check_data() const + error solver::check_data() { - auto err = nissy_checkdata(data.size(), + auto err_value = nissy_checkdata(data.size(), reinterpret_cast<const char *>(data.data())); - return error{err}; + error err{err_value}; + data_checked = err.ok(); + return err; } void solver::unload_data() diff --git a/cpp/nissy.h b/cpp/nissy.h @@ -84,10 +84,11 @@ namespace nissy { size_t size; std::string id; std::vector<std::byte> data; + bool data_checked; error generate_data(); void read_data(std::ifstream&); - error check_data() const; + error check_data(); void unload_data(); solve_result solve(const cube&, nissflag, unsigned minmoves, unsigned maxmoves, unsigned maxsols, int optimal,