VaultedVulkan/VV_Platform.hpp file

Vaulted Vulkan: Platform Specification.

Contents

The Vulkan C-API header is included here and platform detection implementation is defined.

Namespaces

namespace VV
namespace VV::V0
namespace VV::Corridors

Classes

template<EOS>
struct VV::V0::PlatformTypes_Maker
Defines maker of platform struct that defines operating system types.
template<>
struct VV::V0::PlatformTypes_Maker<EOS::Linux>
template<>
struct VV::V0::PlatformTypes_Maker<EOS::Windows>
Defines Windows specific types.
template<typename FunctionType, FunctionType*>
struct VV::V0::CallEnforcer_CallMaker
template<typename ReturnType, typename... ParameterTypes, ReturnType(*)(ParameterTypes...) FunctionPtr>
struct VV::V0::CallEnforcer_CallMaker<ReturnType(ParameterTypes...), FunctionPtr>
Generates a wrapped call to the function passed to it.

Defines

#define VV_VULKAN_INCLUDEGUARD
#define GetVTAPI_Call(_FUNCTION)
Used to wrap a function with the vulkan calling convention specifiers. Used for vulkan messaging callbacks.

Define documentation

#define VV_VULKAN_INCLUDEGUARD

#define GetVTAPI_Call(_FUNCTION)

Used to wrap a function with the vulkan calling convention specifiers. Used for vulkan messaging callbacks.

This is the only intended macro to be used by the user of this library. If the user wishes to avoid using this ease of use macro, the actual function call can be made:

Enforced_Call<decltype(Function), Function>()