Lugdunum  0.1.0
DescriptorSet.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace lug {
6 namespace Graphics {
7 namespace Vulkan {
8 namespace Render {
9 namespace DescriptorSetPool {
10 
11 template <size_t maxSets>
13 
15  template <size_t maxSets>
16  friend class DescriptorSetPool;
17 
18 public:
19  DescriptorSet() = default;
20  DescriptorSet(API::DescriptorSet descriptorSet);
21 
22  DescriptorSet(const DescriptorSet&) = delete;
23  DescriptorSet(DescriptorSet&&) = delete;
24 
25  DescriptorSet& operator=(const DescriptorSet&) = delete;
26  DescriptorSet& operator=(DescriptorSet&&) = delete;
27 
28  ~DescriptorSet() = default;
29 
30  const API::DescriptorSet& getDescriptorSet() const;
31 
32  size_t getHash() const;
33  void setHash(size_t hash);
34 
35 private:
37 
38  size_t _hash{0};
39  uint32_t _referenceCount{0};
40 };
41 
43 
44 } // DescriptorSetPool
45 } // Render
46 } // Vulkan
47 } // Graphics
48 } // lug
#define LUG_GRAPHICS_API
Definition: Export.hpp:11