VV::V0 namespace

Classes

template<typename EnumType, typename BitmaskRepresentation>
class Bitfield
template<typename FunctionType, FunctionType*>
struct CallEnforcer_CallMaker
template<typename ReturnType, typename... ParameterTypes, ReturnType(*)(ParameterTypes...) FunctionPtr>
struct CallEnforcer_CallMaker<ReturnType(ParameterTypes...), FunctionPtr>
Generates a wrapped call to the function passed to it.
struct DummyBase
Used when creating fake VulkanAPI structures for platform abstraction uses.
template<EOS>
struct Fence_Maker
template<>
struct Fence_Maker<EOS::Linux>
template<>
struct Fence_Maker<EOS::Windows>
struct Fence_PlatformAgnostic
template<typename Enum, typename = void>
struct IsBitmaskable
Used when the enum does not meet the criteria for bitmaskable.
template<typename Enum>
struct IsBitmaskable<Enum, decltype(static_cast<void>(Enum::VV_SpecifyBitmaskable))>
Will be defined with a true_type when enum has the VV_SpecifyBitmaskable enum value.
struct Memory
General memory definitions.
template<EOS>
struct PlatformTypes_Maker
Defines maker of platform struct that defines operating system types.
template<>
struct PlatformTypes_Maker<EOS::Linux>
template<>
struct PlatformTypes_Maker<EOS::Windows>
Defines Windows specific types.
template<EOS>
struct Semaphore_Maker
template<>
struct Semaphore_Maker<EOS::Linux>
template<>
struct Semaphore_Maker<EOS::Windows>
struct Semaphore_PlatformAgnostic
template<EOS>
struct Surface_Maker
Used to create an OS platform's surface type.
template<>
struct Surface_Maker<EOS::Windows>
Defines a Surface's extended definitions for Windows.
struct Surface_PlatformAgnostic
Cross-Platform set of definitions for a Surface.
template<typename VulkanType, EStructureType TemplateSpecifiedStype = EStructureType::Max_Enum>
struct VKStruct_Base
Base struct for wrapping Vulkan native C API Structs.

Enums

enum class EOS { Windows, Mac, Linux }
Enum specifies operating system platform.

Typedefs

using ShouldUse_EResult = typename std::conditional<V0::UseSTL_Exceptions, void, EResult>::type
Determines whether to return an result code for a function based on if STL exceptions are enabled.
using PlatformTypes = PlatformTypes_Maker<OS_Platform>
A structure containing the types for the detected platform.

Functions

template<typename Enum>
auto Bitmaskable() -> std::enable_if<IsBitmaskable<Enum>::value, bool>::type constexpr noexcept
Returns true if IsBitmaskable is false.
template<typename Enum>
auto Bitmaskable() -> std::enable_if<!IsBitmaskable<Enum>::value, bool>::type constexpr noexcept
Returns false if bitmaskable is false (Default case).
template<typename FunctionType, FunctionType& _functionRef>
auto GetVulkanAPI_Call() -> auto

Variables

bool UseSTL_Exceptions constexpr
STL Exceptions (Note: right now the library does not STL exceptions but may in the future...):

Function documentation

template<typename Enum>
std::enable_if<!IsBitmaskable<Enum>::value, bool>::type VV::V0::Bitmaskable() constexpr noexcept

Returns false if bitmaskable is false (Default case).

template<typename FunctionType, FunctionType& _functionRef>
auto VV::V0::GetVulkanAPI_Call()