Photon Editor Library 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
HostMemoryBlock.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <Common/memory.h>
6#include <Utility/TSpan.h>
7
8#include <cstddef>
9
10namespace ph::editor::ghi
11{
12
16{
17public:
21
25 explicit HostMemoryBlock(std::size_t blockSizeHintInBytes);
26
33 HostMemoryBlock(std::size_t blockSizeHintInBytes, std::size_t alignmentInBytes);
34
35 HostMemoryBlock(HostMemoryBlock&& other) noexcept;
37
38 friend void swap(HostMemoryBlock& first, HostMemoryBlock& second) noexcept;
39
40private:
41 TAlignedMemoryUniquePtr<std::byte> m_memoryBlock;
42};
43
44}// end namespace ph::editor::ghi
45
Definition GraphicsMemoryBlock.h:13
A chunk of cache aligned main memory.
Definition HostMemoryBlock.h:16
friend void swap(HostMemoryBlock &first, HostMemoryBlock &second) noexcept
Definition HostMemoryBlock.ipp:52
HostMemoryBlock()
Empty block without any allocation.
Definition HostMemoryBlock.ipp:16
HostMemoryBlock & operator=(HostMemoryBlock &&rhs) noexcept
Definition HostMemoryBlock.ipp:45
Definition PlatformDisplay.h:13