No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
}
-/// Book::get_number() reads sizeof(T) chars from the file's binary byte
+/// 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>
-void Book::get_number(T& n) {
+Book& Book::operator>>(T& n) {
n = 0;
for (size_t i = 0; i < sizeof(T); i++)
n = (n << 8) + (T)bookFile.get();
+
+ return *this;
}
bookFile.seekg(idx * sizeof(BookEntry), ios_base::beg);
- get_number(e.key);
- get_number(e.move);
- get_number(e.count);
- get_number(e.learn);
+ *this >> e.key >> e.move >> e.count >> e.learn;
if (!bookFile.good())
{
const std::string name() const { return bookName; }
private:
- template<typename T> void get_number(T& n);
+ template<typename T> Book& operator>>(T& n);
BookEntry read_entry(int idx);
int find_entry(uint64_t key);