From 1ba3ceaf3fc24cd0833f77d58330f8a97cc57ed1 Mon Sep 17 00:00:00 2001 From: Markus Tavenrath Date: Fri, 14 Oct 2016 16:22:14 +0200 Subject: [PATCH] Add support for std::tie on ResultValues. This allows developers to write (#39) vk::Result result; vk::Image image; std::tie(result, image) = device.createImage(...); when using the non-exception mode. --- VulkanHppGenerator.cpp | 3 +++ vulkan/vulkan.hpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index 95d7f47..2652ebc 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -319,6 +319,8 @@ std::string const resultValueHeader = ( "\n" " Result result;\n" " T value;\n" + "\n" + " operator std::tuple() { return std::tuple(result, value); }\n" " };\n" "\n" " template \n" @@ -3106,6 +3108,7 @@ int main( int argc, char **argv ) << "#include " << std::endl << "#include " << std::endl << "#include " << std::endl + << "#include " << std::endl << "#include " << std::endl << "#include " << std::endl << "#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE" << std::endl diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index 49f0b4c..e7ea1a7 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE @@ -399,6 +400,8 @@ namespace vk Result result; T value; + + operator std::tuple() { return std::tuple(result, value); } }; template