From c0fb89411eafed35427006bb254fdd6a35a80c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20S=C3=BC=C3=9Fenbach?= Date: Mon, 25 Jul 2016 06:04:56 +0200 Subject: [PATCH] Add member functions begin(), end(), front(), back(), and empty() to vk::ArrayProxy to make it a better container. --- VulkanHppGenerator.cpp | 27 +++++++++++++++++++++++++++ vulkan/vulkan.hpp | 27 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index 374d77d..c353918 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -270,6 +270,33 @@ std::string const arrayProxyHeader = ( " , m_ptr(data.begin())\n" " {}\n" "\n" + " const T * begin() const\n" + " {\n" + " return m_ptr;\n" + " }\n" + "\n" + " const T * end() const\n" + " {\n" + " return m_ptr + m_count;\n" + " }\n" + "\n" + " const T & front() const\n" + " {\n" + " assert(m_count && m_ptr);\n" + " return *m_ptr;\n" + " }\n" + "\n" + " const T & back() const\n" + " {\n" + " assert(m_count && m_ptr);\n" + " return *(m_ptr + m_count - 1);\n" + " }\n" + "\n" + " bool empty() const\n" + " {\n" + " return (m_count == 0);\n" + " }\n" + "\n" " uint32_t size() const\n" " {\n" " return m_count;\n" diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index 5f91e9f..97075d7 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -264,6 +264,33 @@ namespace vk , m_ptr(data.begin()) {} + const T * begin() const + { + return m_ptr; + } + + const T * end() const + { + return m_ptr + m_count; + } + + const T & front() const + { + assert(m_count && m_ptr); + return *m_ptr; + } + + const T & back() const + { + assert(m_count && m_ptr); + return *(m_ptr + m_count - 1); + } + + bool empty() const + { + return (m_count == 0); + } + uint32_t size() const { return m_count;