Add member functions begin(), end(), front(), back(), and empty() to vk::ArrayProxy to make it a better container.

This commit is contained in:
Andreas Süßenbach 2016-07-25 06:04:56 +02:00
parent 65a7d2f644
commit c0fb89411e
2 changed files with 54 additions and 0 deletions

View File

@ -270,6 +270,33 @@ std::string const arrayProxyHeader = (
" , m_ptr(data.begin())\n" " , m_ptr(data.begin())\n"
" {}\n" " {}\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" " uint32_t size() const\n"
" {\n" " {\n"
" return m_count;\n" " return m_count;\n"

View File

@ -264,6 +264,33 @@ namespace vk
, m_ptr(data.begin()) , 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 uint32_t size() const
{ {
return m_count; return m_count;