NRE_BinaryInputStream.hpp
Go to the documentation of this file.
1 
10  #pragma once
11 
12  #include <fstream>
13 
18  namespace NRE {
23  namespace IO {
24 
30  public: // Methods
31  //## Constructor ##//
35  BinaryInputStream() = default;
36 
37  //## Copy-Constructor ##//
42  BinaryInputStream(BinaryInputStream const& i) = delete;
43 
44  //## Move-Constructor ##//
49  BinaryInputStream(BinaryInputStream && i) = default;
50 
51  //## Deconstructor ##//
55  virtual ~BinaryInputStream() = default;
56 
57  //## Getter ##//
61  virtual std::fstream& getStream() = 0;
62 
63  //## Methods ##//
69  template <class T>
70  void readBinary(T& object, size_t sizeInBytes) {
71  getStream().read(reinterpret_cast<char *>(&object), sizeInBytes);
72  }
73 
74  //## Assignment Operator ##//
87  };
88  }
89  }
virtual std::fstream & getStream()=0
IO&#39;s API.
BinaryInputStream & operator=(BinaryInputStream const &i)=delete
Base interface for binary input related stream.
Definition: NRE_BinaryInputStream.hpp:29
void readBinary(T &object, size_t sizeInBytes)
Definition: NRE_BinaryInputStream.hpp:70
The NearlyRealEngine&#39;s global namespace.
virtual ~BinaryInputStream()=default