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

#include <Buffer.hpp>

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

Public Member Functions

 Buffer ()=default
 
 Buffer (const Buffer &)=delete
 
 Buffer (Buffer &&buffer)
 
Bufferoperator= (const Buffer &)=delete
 
Bufferoperator= (Buffer &&buffer)
 
 ~Buffer ()
 
 operator VkBuffer () const
 
void destroy ()
 
void bindMemory (const DeviceMemory &deviceMemory, VkDeviceSize memoryOffset=0)
 
bool updateData (const void *data, VkDeviceSize size, VkDeviceSize offset=0) const
 
const VkMemoryRequirements & getRequirements () const
 
const DeviceMemorygetDeviceMemory () const
 
VkDeviceSize getDeviceMemoryOffset () const
 

Private Member Functions

 Buffer (VkBuffer Buffer, const Device *device)
 

Private Attributes

VkBuffer _buffer {VK_NULL_HANDLE}
 
const Device_device {nullptr}
 
const DeviceMemory_deviceMemory {nullptr}
 
VkDeviceSize _deviceMemoryOffset {0}
 
VkMemoryRequirements _requirements {}
 

Friends

class Builder::Buffer
 

Detailed Description

Definition at line 21 of file Buffer.hpp.

Constructor & Destructor Documentation

◆ Buffer() [1/4]

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

◆ Buffer() [2/4]

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

◆ Buffer() [3/4]

lug::Graphics::Vulkan::API::Buffer::Buffer ( Buffer &&  buffer)

Definition at line 19 of file Buffer.cpp.

◆ ~Buffer()

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

Definition at line 49 of file Buffer.cpp.

◆ Buffer() [4/4]

lug::Graphics::Vulkan::API::Buffer::Buffer ( VkBuffer  Buffer,
const Device device 
)
explicitprivate

Definition at line 13 of file Buffer.cpp.

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

Buffer & lug::Graphics::Vulkan::API::Buffer::operator= ( Buffer &&  buffer)

Definition at line 32 of file Buffer.cpp.

◆ operator VkBuffer()

lug::Graphics::Vulkan::API::Buffer::operator VkBuffer ( ) const
inlineexplicit

Definition at line 35 of file Buffer.hpp.

◆ destroy()

void lug::Graphics::Vulkan::API::Buffer::destroy ( )

Definition at line 53 of file Buffer.cpp.

◆ bindMemory()

void lug::Graphics::Vulkan::API::Buffer::bindMemory ( const DeviceMemory deviceMemory,
VkDeviceSize  memoryOffset = 0 
)

Definition at line 60 of file Buffer.cpp.

◆ updateData()

bool lug::Graphics::Vulkan::API::Buffer::updateData ( const void *  data,
VkDeviceSize  size,
VkDeviceSize  offset = 0 
) const

Definition at line 67 of file Buffer.cpp.

◆ getRequirements()

const VkMemoryRequirements & Buffer::getRequirements ( ) const
inline

Definition at line 1 of file Buffer.inl.

◆ getDeviceMemory()

const DeviceMemory * Buffer::getDeviceMemory ( ) const
inline

Definition at line 5 of file Buffer.inl.

◆ getDeviceMemoryOffset()

VkDeviceSize Buffer::getDeviceMemoryOffset ( ) const
inline

Definition at line 9 of file Buffer.inl.

Friends And Related Function Documentation

◆ Builder::Buffer

friend class Builder::Buffer
friend

Definition at line 22 of file Buffer.hpp.

Member Data Documentation

◆ _buffer

VkBuffer lug::Graphics::Vulkan::API::Buffer::_buffer {VK_NULL_HANDLE}
private

Definition at line 53 of file Buffer.hpp.

◆ _device

const Device* lug::Graphics::Vulkan::API::Buffer::_device {nullptr}
private

Definition at line 54 of file Buffer.hpp.

◆ _deviceMemory

const DeviceMemory* lug::Graphics::Vulkan::API::Buffer::_deviceMemory {nullptr}
private

Definition at line 56 of file Buffer.hpp.

◆ _deviceMemoryOffset

VkDeviceSize lug::Graphics::Vulkan::API::Buffer::_deviceMemoryOffset {0}
private

Definition at line 57 of file Buffer.hpp.

◆ _requirements

VkMemoryRequirements lug::Graphics::Vulkan::API::Buffer::_requirements {}
private

Definition at line 59 of file Buffer.hpp.


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