]> git.sesse.net Git - stockfish/blobdiff - src/book.cpp
Reintroduce operator>>() in Book class
[stockfish] / src / book.cpp
index 8c7cd52c5ca39c482101d87f245bafcca9ef944e..757c8238fe82627143215c7bc73932605a593c9b 100644 (file)
@@ -502,6 +502,20 @@ int Book::find_entry(uint64_t key) {
 }
 
 
+/// Book::operator>>() reads sizeof(T) chars from the file's binary byte
+/// stream and converts them in a number of type T.
+template<typename T>
+Book& Book::operator>>(T& n) {
+
+  n = 0;
+
+  for (size_t i = 0; i < sizeof(T); i++)
+      n = (n << 8) + (T)bookFile.get();
+
+  return *this;
+}
+
+
 /// Book::read_entry() takes an integer index, and returns the BookEntry
 /// at the given index in the book file.