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

#include <QueueFamily.hpp>

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

Public Member Functions

 QueueFamily ()=default
 
 QueueFamily (const QueueFamily &)=delete
 
 QueueFamily (QueueFamily &&queueFamily)
 
QueueFamilyoperator= (const QueueFamily &)=delete
 
QueueFamilyoperator= (QueueFamily &&queueFamily)
 
 ~QueueFamily ()=default
 
 operator uint32_t () const
 
uint32_t getIdx () const
 
VkQueueFlags getFlags () const
 
const std::vector< Queue > & getQueues () const
 
const QueuegetQueue (const std::string &queueName) const
 
bool supportsPresentation () const
 
void supportsPresentation (bool presentation)
 

Private Member Functions

 QueueFamily (uint32_t idx, VkQueueFlags flags)
 

Private Attributes

uint32_t _idx {0}
 
bool _presentation {false}
 
VkQueueFlags _flags {0}
 
std::vector< Queue_queues
 
std::unordered_map< std::string, uint32_t > _queuesIndices
 

Friends

class Builder::Device
 

Detailed Description

Definition at line 18 of file QueueFamily.hpp.

Constructor & Destructor Documentation

◆ QueueFamily() [1/4]

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

◆ QueueFamily() [2/4]

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

◆ QueueFamily() [3/4]

lug::Graphics::Vulkan::API::QueueFamily::QueueFamily ( QueueFamily &&  queueFamily)

Definition at line 10 of file QueueFamily.cpp.

◆ ~QueueFamily()

lug::Graphics::Vulkan::API::QueueFamily::~QueueFamily ( )
default

◆ QueueFamily() [4/4]

lug::Graphics::Vulkan::API::QueueFamily::QueueFamily ( uint32_t  idx,
VkQueueFlags  flags 
)
explicitprivate

Definition at line 8 of file QueueFamily.cpp.

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

QueueFamily & lug::Graphics::Vulkan::API::QueueFamily::operator= ( QueueFamily &&  queueFamily)

Definition at line 20 of file QueueFamily.cpp.

◆ operator uint32_t()

lug::Graphics::Vulkan::API::QueueFamily::operator uint32_t ( ) const
inlineexplicit

Definition at line 32 of file QueueFamily.hpp.

◆ getIdx()

uint32_t QueueFamily::getIdx ( ) const
inline

Definition at line 1 of file QueueFamily.inl.

◆ getFlags()

VkQueueFlags QueueFamily::getFlags ( ) const
inline

Definition at line 5 of file QueueFamily.inl.

◆ getQueues()

const std::vector< Queue > & QueueFamily::getQueues ( ) const
inline

Definition at line 9 of file QueueFamily.inl.

◆ getQueue()

const Queue * QueueFamily::getQueue ( const std::string &  queueName) const
inline

Definition at line 13 of file QueueFamily.inl.

◆ supportsPresentation() [1/2]

bool QueueFamily::supportsPresentation ( ) const
inline

Definition at line 21 of file QueueFamily.inl.

◆ supportsPresentation() [2/2]

void QueueFamily::supportsPresentation ( bool  presentation)
inline

Definition at line 25 of file QueueFamily.inl.

Friends And Related Function Documentation

◆ Builder::Device

friend class Builder::Device
friend

Definition at line 19 of file QueueFamily.hpp.

Member Data Documentation

◆ _idx

uint32_t lug::Graphics::Vulkan::API::QueueFamily::_idx {0}
private

Definition at line 49 of file QueueFamily.hpp.

◆ _presentation

bool lug::Graphics::Vulkan::API::QueueFamily::_presentation {false}
private

Definition at line 50 of file QueueFamily.hpp.

◆ _flags

VkQueueFlags lug::Graphics::Vulkan::API::QueueFamily::_flags {0}
private

Definition at line 51 of file QueueFamily.hpp.

◆ _queues

std::vector<Queue> lug::Graphics::Vulkan::API::QueueFamily::_queues
private

Definition at line 53 of file QueueFamily.hpp.

◆ _queuesIndices

std::unordered_map<std::string, uint32_t> lug::Graphics::Vulkan::API::QueueFamily::_queuesIndices
private

Definition at line 54 of file QueueFamily.hpp.


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