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

#include <Instance.hpp>

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

Classes

struct  ApplicationInfo
 

Public Member Functions

 Instance ()=default
 
 Instance (const Instance &)=delete
 
 Instance (Instance &&)=delete
 
Instanceoperator= (const Instance &)=delete
 
Instanceoperator= (Instance &&)=delete
 
 ~Instance ()=default
 
void setApplicationInfo (const std::string &name, const Core::Version &version={0, 0, 0})
 
void setEngineInfo (const std::string &name, const Core::Version &version={0, 0, 0})
 
void setRequiredVulkanVersion (const Core::Version &version={0, 0, 0})
 
void setLayers (const std::vector< const char *> &layers)
 
void setExtensions (const std::vector< const char *> &extensions)
 
bool build (API::Instance &instance, VkResult *returnResult=nullptr)
 
std::unique_ptr< API::Instancebuild (VkResult *returnResult=nullptr)
 

Private Attributes

ApplicationInfo _appInfo
 
std::vector< const char * > _layers
 
std::vector< const char * > _extensions
 

Detailed Description

Definition at line 16 of file Instance.hpp.

Constructor & Destructor Documentation

◆ Instance() [1/3]

lug::Graphics::Vulkan::API::Builder::Instance::Instance ( )
default

◆ Instance() [2/3]

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

◆ Instance() [3/3]

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

◆ ~Instance()

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

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ setApplicationInfo()

void Instance::setApplicationInfo ( const std::string &  name,
const Core::Version version = {0, 0, 0} 
)
inline

Definition at line 1 of file Instance.inl.

◆ setEngineInfo()

void Instance::setEngineInfo ( const std::string &  name,
const Core::Version version = {0, 0, 0} 
)
inline

Definition at line 6 of file Instance.inl.

◆ setRequiredVulkanVersion()

void Instance::setRequiredVulkanVersion ( const Core::Version version = {0, 0, 0})
inline

Definition at line 11 of file Instance.inl.

◆ setLayers()

void Instance::setLayers ( const std::vector< const char *> &  layers)
inline

Definition at line 15 of file Instance.inl.

◆ setExtensions()

void Instance::setExtensions ( const std::vector< const char *> &  extensions)
inline

Definition at line 19 of file Instance.inl.

◆ build() [1/2]

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

Definition at line 9 of file Instance.cpp.

◆ build() [2/2]

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

Definition at line 50 of file Instance.cpp.

Member Data Documentation

◆ _appInfo

ApplicationInfo lug::Graphics::Vulkan::API::Builder::Instance::_appInfo
private

Definition at line 52 of file Instance.hpp.

◆ _layers

std::vector<const char*> lug::Graphics::Vulkan::API::Builder::Instance::_layers
private

Definition at line 54 of file Instance.hpp.

◆ _extensions

std::vector<const char*> lug::Graphics::Vulkan::API::Builder::Instance::_extensions
private

Definition at line 55 of file Instance.hpp.


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