NRE_BinaryOutputStream.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  BinaryOutputStream() = default;
36 
37  //## Copy-Constructor ##//
42  BinaryOutputStream(BinaryOutputStream const& o) = delete;
43 
44  //## Move-Constructor ##//
49  BinaryOutputStream(BinaryOutputStream && o) = default;
50 
51  //## Deconstructor ##//
55  virtual ~BinaryOutputStream() = default;
56 
57  //## Getter ##//
61  virtual std::fstream& getStream() = 0;
62 
63  //## Methods ##//
69  template <class T>
70  void writeBinary(T const& object, std::size_t sizeInBytes) {
71  getStream().write(reinterpret_cast<const char*>(&object), sizeInBytes);
72  }
73 
74  //## Assignment Operator ##//
87  };
88  }
89  }
BinaryOutputStream & operator=(BinaryOutputStream const &o)=delete
void writeBinary(T const &object, std::size_t sizeInBytes)
Definition: NRE_BinaryOutputStream.hpp:70
IO&#39;s API.
virtual std::fstream & getStream()=0
Base interface for binary output related stream.
Definition: NRE_BinaryOutputStream.hpp:29
virtual ~BinaryOutputStream()=default
The NearlyRealEngine&#39;s global namespace.