Lugdunum
0.1.0
include
lug
Graphics
Vulkan
API
Semaphore.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
Semaphore;
13
}
// Builder
14
15
class
Device;
16
17
class
LUG_GRAPHICS_API
Semaphore
{
18
friend
class
Builder::Semaphore
;
19
20
public
:
21
Semaphore
() =
default
;
22
23
Semaphore
(
const
Semaphore
&) =
delete
;
24
Semaphore
(
Semaphore
&& semaphore);
25
26
Semaphore
& operator=(
const
Semaphore
&) =
delete
;
27
Semaphore
& operator=(
Semaphore
&& semaphore);
28
29
~
Semaphore
();
30
31
explicit
operator
VkSemaphore()
const
{
32
return
_semaphore;
33
}
34
35
void
destroy();
36
37
private
:
38
explicit
Semaphore
(VkSemaphore semaphore,
const
Device
* device);
39
40
private
:
41
VkSemaphore _semaphore{VK_NULL_HANDLE};
42
const
Device
* _device{
nullptr
};
43
};
44
45
}
// API
46
}
// Vulkan
47
}
// Graphics
48
}
// lug
LUG_GRAPHICS_API
#define LUG_GRAPHICS_API
Definition:
Export.hpp:11
Vulkan
Definition:
Vulkan.hpp:155
lug::Graphics::Vulkan::API::Device
Definition:
Device.hpp:16
lug::Graphics::Vulkan::API::Semaphore
Definition:
Semaphore.hpp:17
Vulkan.hpp
lug
Definition:
Application.hpp:11
lug::Graphics::Vulkan::API::Builder::Semaphore
Definition:
Semaphore.hpp:16
Export.hpp
Generated by
1.8.13