Worldstone
 All Classes Files Functions Variables Enumerations Enumerator Macros Pages
Archive.h
1 //
2 // Created by Lectem on 11/11/2016.
3 //
4 #pragma once
5 
6 #include "IOBase.h"
7 #include "Stream.h"
8 
9 namespace WorldStone
10 {
11 
24 class Archive : public IOBase
25 {
26 protected:
27  virtual bool load() = 0;
28  virtual bool is_loaded() = 0;
29  virtual bool unload() = 0;
30 
31 public:
32  Archive() = default;
33  Archive(const Archive&) = delete;
34  Archive& operator=(const Archive&) = delete;
35  virtual ~Archive();
36 
37  virtual bool exists(const Path& filePath) = 0;
38  virtual StreamPtr open(const Path& filePath) = 0;
39  virtual bool isThreadSafe() { return false; }
40 };
41 }
This class reuses the parts of std::ios API but doesn't provide heavy stream functionnality (ie...
Definition: IOBase.h:16
Base class to use/build archives.
Definition: Archive.h:24