X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbook.h;h=24fa9f2daf45b2e1c087bf644ecf053f1cdcf449;hp=947e323ab26820abff41cc266ddc781e71c344f2;hb=8300ab149cec54c2124898285bdc9308f78de4cd;hpb=c00443b19e38aface91245a83b915d0cfd3216b7 diff --git a/src/book.h b/src/book.h index 947e323a..24fa9f2d 100644 --- a/src/book.h +++ b/src/book.h @@ -37,25 +37,22 @@ struct BookEntry { uint32_t learn; }; -class Book { + +class Book : private std::ifstream { public: Book(); ~Book(); - void open(const std::string& fileName); - void close(); - Move probe(const Position& pos, bool findBestMove); - const std::string name() const { return bookName; } + Move probe(const Position& pos, const std::string& fName, bool pickBest); private: template Book& operator>>(T& n); - BookEntry read_entry(int idx); - int first_entry(uint64_t key); + bool open(const char* fName); + void binary_search(uint64_t key); RKISS RKiss; - std::ifstream bookFile; - std::string bookName; - int bookSize; + std::string fileName; + size_t size; }; #endif // !defined(BOOK_H_INCLUDED)