#pragma once #include namespace charcoal { namespace builtin { template class Batched { protected: BatchType& add_batch(RenderableType* renderable, int element_count) { return add_batch(renderable, element_count, element_count); } BatchType& add_batch(RenderableType* renderable, int element_count, int element_render_count) { m_batches.emplace_back(renderable, element_count, element_render_count); return m_batches.back(); } // Since the intention is to access the batches through the returned references, // it is better to store them in a list. std::list m_batches; }; } }