diff --git a/Vulkan-Docs b/Vulkan-Docs index 5436521..25f952f 160000 --- a/Vulkan-Docs +++ b/Vulkan-Docs @@ -1 +1 @@ -Subproject commit 5436521608c40f324b397693f5bb758d666e3f55 +Subproject commit 25f952fe85f5a8bb9e166e9e026f1de081b684af diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index ac8bc3e..fc92f89 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -362,7 +362,7 @@ const std::string arrayProxyHeader = R"( )"; const std::string structureChainHeader = R"( - template constexpr bool isStructureChainValid() { return false; } + template struct isStructureChainValid { enum { value = false }; }; template class StructureChainElement @@ -405,7 +405,7 @@ const std::string structureChainHeader = R"( template void link() { - static_assert(isStructureChainValid(), "The structure chain is not valid!"); + static_assert(isStructureChainValid::value, "The structure chain is not valid!"); X& x = static_cast(*this); Y& y = static_cast(*this); x.pNext = &y; @@ -421,7 +421,7 @@ const std::string structureChainHeader = R"( template void linkAndCopy(StructureChain const &rhs) { - static_assert(isStructureChainValid(), "The structure chain is not valid!"); + static_assert(isStructureChainValid::value, "The structure chain is not valid!"); X& x = static_cast(*this); Y& y = static_cast(*this); x = static_cast(rhs); @@ -4375,7 +4375,7 @@ void writeStructureChainValidation(std::ostream & os, VkData const& vkData, Depe assert(itExtend != vkData.structs.end()); enterProtect(os, itExtend->second.protect); - os << " template <> constexpr bool isStructureChainValid<" << extendName << ", " << dependencyData.name << ">() { return true; }" << std::endl; + os << " template <> struct isStructureChainValid<" << extendName << ", " << dependencyData.name << ">{ enum { value = true }; };" << std::endl; leaveProtect(os, itExtend->second.protect); } diff --git a/tinyxml2 b/tinyxml2 index 8b83b23..4155ac0 160000 --- a/tinyxml2 +++ b/tinyxml2 @@ -1 +1 @@ -Subproject commit 8b83b238767ca1fdaaf73b3f4a1b98c4512a54bb +Subproject commit 4155ac0c7345c760be0b79d44040691a5c4fff06 diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index 9086b94..6bc3c78 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -33,7 +33,7 @@ # include # include #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ -static_assert( VK_HEADER_VERSION == 64 , "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 65 , "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -442,7 +442,7 @@ namespace VULKAN_HPP_NAMESPACE #endif - template constexpr bool isStructureChainValid() { return false; } + template struct isStructureChainValid { enum { value = false }; }; template class StructureChainElement @@ -485,7 +485,7 @@ namespace VULKAN_HPP_NAMESPACE template void link() { - static_assert(isStructureChainValid(), "The structure chain is not valid!"); + static_assert(isStructureChainValid::value, "The structure chain is not valid!"); X& x = static_cast(*this); Y& y = static_cast(*this); x.pNext = &y; @@ -501,7 +501,7 @@ namespace VULKAN_HPP_NAMESPACE template void linkAndCopy(StructureChain const &rhs) { - static_assert(isStructureChainValid(), "The structure chain is not valid!"); + static_assert(isStructureChainValid::value, "The structure chain is not valid!"); X& x = static_cast(*this); Y& y = static_cast(*this); x = static_cast(rhs); @@ -32116,110 +32116,110 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; #ifdef VK_USE_PLATFORM_WIN32_KHR - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } - template <> constexpr bool isStructureChainValid() { return true; } + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; + template <> struct isStructureChainValid{ enum { value = true }; }; VULKAN_HPP_INLINE std::string to_string(FramebufferCreateFlagBits) { return "(void)";