Lugdunum  0.1.0
Public Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::API::Builder::Buffer Class Reference

#include <Buffer.hpp>

Collaboration diagram for lug::Graphics::Vulkan::API::Builder::Buffer:
[legend]

Public Member Functions

 Buffer (const API::Device &device)
 
 Buffer (const Buffer &)=delete
 
 Buffer (Buffer &&)=delete
 
Bufferoperator= (const Buffer &)=delete
 
Bufferoperator= (Buffer &&)=delete
 
 ~Buffer ()=default
 
void setSize (VkDeviceSize size)
 
void setFlags (VkBufferCreateFlags flags)
 
void setUsage (VkBufferUsageFlags usage)
 
void setExclusive (bool exclusive)
 
void setQueueFamilyIndices (std::set< uint32_t > queueFamilyIndices)
 
bool build (API::Buffer &instance, VkResult *returnResult=nullptr)
 
std::unique_ptr< API::Bufferbuild (VkResult *returnResult=nullptr)
 

Private Attributes

const API::Device_device
 
VkDeviceSize _size {}
 
VkBufferCreateFlags _flags {}
 
bool _exclusive {false}
 
VkBufferUsageFlags _usage {}
 
std::set< uint32_t > _queueFamilyIndices {}
 

Detailed Description

Definition at line 17 of file Buffer.hpp.

Constructor & Destructor Documentation

◆ Buffer() [1/3]

lug::Graphics::Vulkan::API::Builder::Buffer::Buffer ( const API::Device device)

Definition at line 13 of file Buffer.cpp.

◆ Buffer() [2/3]

lug::Graphics::Vulkan::API::Builder::Buffer::Buffer ( const Buffer )
delete

◆ Buffer() [3/3]

lug::Graphics::Vulkan::API::Builder::Buffer::Buffer ( Buffer &&  )
delete

◆ ~Buffer()

lug::Graphics::Vulkan::API::Builder::Buffer::~Buffer ( )
default

Member Function Documentation

◆ operator=() [1/2]

Buffer& lug::Graphics::Vulkan::API::Builder::Buffer::operator= ( const Buffer )
delete

◆ operator=() [2/2]

Buffer& lug::Graphics::Vulkan::API::Builder::Buffer::operator= ( Buffer &&  )
delete

◆ setSize()

void Buffer::setSize ( VkDeviceSize  size)
inline

Definition at line 1 of file Buffer.inl.

◆ setFlags()

void Buffer::setFlags ( VkBufferCreateFlags  flags)
inline

Definition at line 5 of file Buffer.inl.

◆ setUsage()

void Buffer::setUsage ( VkBufferUsageFlags  usage)
inline

Definition at line 9 of file Buffer.inl.

◆ setExclusive()

void Buffer::setExclusive ( bool  exclusive)
inline

Definition at line 13 of file Buffer.inl.

◆ setQueueFamilyIndices()

void Buffer::setQueueFamilyIndices ( std::set< uint32_t >  queueFamilyIndices)
inline

Definition at line 17 of file Buffer.inl.

◆ build() [1/2]

bool lug::Graphics::Vulkan::API::Builder::Buffer::build ( API::Buffer instance,
VkResult *  returnResult = nullptr 
)

Definition at line 15 of file Buffer.cpp.

◆ build() [2/2]

std::unique_ptr< API::Buffer > lug::Graphics::Vulkan::API::Builder::Buffer::build ( VkResult *  returnResult = nullptr)

Definition at line 53 of file Buffer.cpp.

Member Data Documentation

◆ _device

const API::Device& lug::Graphics::Vulkan::API::Builder::Buffer::_device
private

Definition at line 41 of file Buffer.hpp.

◆ _size

VkDeviceSize lug::Graphics::Vulkan::API::Builder::Buffer::_size {}
private

Definition at line 42 of file Buffer.hpp.

◆ _flags

VkBufferCreateFlags lug::Graphics::Vulkan::API::Builder::Buffer::_flags {}
private

Definition at line 43 of file Buffer.hpp.

◆ _exclusive

bool lug::Graphics::Vulkan::API::Builder::Buffer::_exclusive {false}
private

Definition at line 44 of file Buffer.hpp.

◆ _usage

VkBufferUsageFlags lug::Graphics::Vulkan::API::Builder::Buffer::_usage {}
private

Definition at line 45 of file Buffer.hpp.

◆ _queueFamilyIndices

std::set<uint32_t> lug::Graphics::Vulkan::API::Builder::Buffer::_queueFamilyIndices {}
private

Definition at line 46 of file Buffer.hpp.


The documentation for this class was generated from the following files: