Lugdunum
0.1.0
include
lug
Graphics
Vulkan
API
Fence.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
lug/Graphics/Export.hpp
>
4
#include <
lug/Graphics/Vulkan/Vulkan.hpp
>
5
6
namespace
lug
{
7
namespace
Graphics {
8
namespace
Vulkan
{
9
namespace
API {
10
11
namespace
Builder {
12
class
Fence;
13
}
// Builder
14
15
class
Device;
16
17
class
LUG_GRAPHICS_API
Fence
{
18
friend
class
Builder::Fence
;
19
20
public
:
21
Fence
() =
default
;
22
23
Fence
(
const
Fence
&) =
delete
;
24
Fence
(
Fence
&& fence);
25
26
Fence
& operator=(
const
Fence
&) =
delete
;
27
Fence
& operator=(
Fence
&& fence);
28
29
~
Fence
();
30
31
explicit
operator
VkFence()
const
{
32
return
_fence;
33
}
34
35
VkResult getStatus()
const
;
36
bool
reset()
const
;
37
bool
wait()
const
;
38
39
void
destroy();
40
41
private
:
42
explicit
Fence
(VkFence fence,
const
Device
* device);
43
44
private
:
45
VkFence _fence{VK_NULL_HANDLE};
46
const
Device
* _device{
nullptr
};
47
};
48
49
}
// API
50
}
// Vulkan
51
}
// Graphics
52
}
// lug
LUG_GRAPHICS_API
#define LUG_GRAPHICS_API
Definition:
Export.hpp:11
lug::Graphics::Vulkan::API::Fence
Definition:
Fence.hpp:17
Vulkan
Definition:
Vulkan.hpp:155
lug::Graphics::Vulkan::API::Device
Definition:
Device.hpp:16
Vulkan.hpp
lug
Definition:
Application.hpp:11
lug::Graphics::Vulkan::API::Builder::Fence
Definition:
Fence.hpp:16
Export.hpp
Generated by
1.8.13