DNA Calib 1.1
Project brief
FileStream.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "trio/Defs.h"
6#include "trio/Stream.h"
7
8namespace trio {
9
14 public:
31 static FileStream* create(const char* path, AccessMode accessMode, OpenMode openMode, MemoryResource* memRes = nullptr);
38 static void destroy(FileStream* instance);
39
40 FileStream() = default;
41 ~FileStream() override;
42
43 FileStream(const FileStream&) = delete;
44 FileStream& operator=(const FileStream&) = delete;
45
46 FileStream(FileStream&&) = default;
48
49};
50
51} // namespace trio
52
53namespace pma {
54
55template<>
56struct DefaultInstanceCreator<trio::FileStream> {
58};
59
60template<>
61struct DefaultInstanceDestroyer<trio::FileStream> {
63};
64
65} // namespace pma
MemoryResource is an abstract class that allows the implementation of polymorphic allocators.
Definition: MemoryResource.h:17
Definition: Stream.h:14
Standard file stream.
Definition: FileStream.h:13
FileStream(const FileStream &)=delete
~FileStream() override
FileStream(FileStream &&)=default
FileStream()=default
FileStream & operator=(const FileStream &)=delete
FileStream & operator=(FileStream &&)=default
Definition: BinaryStreamReader.h:121
Definition: Concepts.h:10
AccessMode
Definition: Parameters.h:7
OpenMode
Definition: Parameters.h:13
Definition: ScopedPtr.h:89
Definition: ScopedPtr.h:94
Definition: ScopedPtr.h:72
Definition: ScopedPtr.h:81
#define TRIOAPI
Definition: trio/Defs.h:26