From c97d2c9049cdd89c0d725de47c2119d6bcbfac27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 7 Oct 2012 14:28:00 +0200 Subject: [PATCH] Support for filling Buffer from std::array. --- src/Buffer.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Buffer.h b/src/Buffer.h index a7ff8df08..c2403ec75 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -20,6 +20,7 @@ */ #include +#include #include #include "Magnum.h" @@ -266,6 +267,11 @@ class Buffer { setData(_defaultTarget, data, usage); } + /** @overload */ + template inline void setData(const std::array& data, Usage usage) { + setData(_defaultTarget, data, usage); + } + /** * @brief Set buffer data * @param target %Target @@ -307,6 +313,11 @@ class Buffer { setData(target, data.size()*sizeof(T), data.data(), usage); } + /** @overload */ + template inline void setData(Target target, const std::array& data, Usage usage) { + setData(target, data.size()*sizeof(T), data.data(), usage); + } + /** * @brief Set buffer subdata * @param offset Offset @@ -346,6 +357,11 @@ class Buffer { setSubData(_defaultTarget, offset, data); } + /** @overload */ + template inline void setSubData(GLintptr offset, const std::array& data) { + setSubData(_defaultTarget, offset, data); + } + /** * @brief Set buffer subdata * @param target %Target @@ -386,6 +402,11 @@ class Buffer { setSubData(target, offset, data.size()*sizeof(T), data.data()); } + /** @overload */ + template inline void setSubData(Target target, GLintptr offset, const std::array& data) { + setSubData(target, offset, data.size()*sizeof(T), data.data()); + } + private: GLuint buffer; Target _defaultTarget;