Tatooine
Public Types | Public Member Functions | Static Public Attributes | List of all members
tatooine::gl::indexbuffer Class Reference

#include <indexbuffer.h>

Inheritance diagram for tatooine::gl::indexbuffer:
[legend]
Collaboration diagram for tatooine::gl::indexbuffer:
[legend]

Public Types

using parent_type = buffer< GL_ELEMENT_ARRAY_BUFFER, unsigned int >
 
using this_type = indexbuffer
 
- Public Types inherited from tatooine::gl::buffer< GL_ELEMENT_ARRAY_BUFFER, unsigned int >
using parent_type = id_holder< GLuint >
 
using this_type = buffer< array_type, unsigned int >
 
using value_type = unsigned int
 
using read_only_element_type = rbuffer_map_element< array_type, unsigned int >
 
using read_write_element_type = rwbuffer_map_element< array_type, unsigned int >
 
using write_only_element_type = wbuffer_map_element< array_type, unsigned int >
 
using iterator = buffer_iterator< array_type, unsigned int >
 
using const_iterator = cbuffer_iterator< array_type, unsigned int >
 
using read_map_type = rbuffer_map< array_type, unsigned int >
 
using write_map_type = wbuffer_map< array_type, unsigned int >
 
using read_write_map_type = rwbuffer_map< array_type, unsigned int >
 

Public Member Functions

DLL_API indexbuffer (buffer_usage usage=default_usage)
 
DLL_API indexbuffer (const indexbuffer &other)
 
DLL_API indexbuffer (indexbuffer &&other)
 
DLL_API this_typeoperator= (const this_type &other)
 
DLL_API this_typeoperator= (this_type &&other)
 
DLL_API indexbuffer (GLsizei n, buffer_usage usage=default_usage)
 
DLL_API indexbuffer (GLsizei n, unsigned int initial, buffer_usage usage=default_usage)
 
DLL_API indexbuffer (const std::vector< unsigned int > &data, buffer_usage usage=default_usage)
 
DLL_API indexbuffer (std::initializer_list< unsigned int > &&list)
 
- Public Member Functions inherited from tatooine::gl::buffer< GL_ELEMENT_ARRAY_BUFFER, unsigned int >
 buffer (buffer_usage usage)
 
 buffer (const buffer &other)
 
 buffer (buffer &&other) noexcept
 
 buffer (GLsizei n, buffer_usage usage)
 
 buffer (GLsizei n, const unsigned int &initial, buffer_usage usage)
 
 buffer (const std::vector< unsigned int > &data, buffer_usage usage)
 
auto operator= (const buffer &other) -> buffer &
 
auto operator= (buffer &&other) noexcept -> buffer &
 
auto operator= (const std::vector< unsigned int > &data) -> buffer &
 
 ~buffer ()
 
auto create_handle () -> void
 
auto destroy_handle () -> void
 
auto upload_data (const unsigned int &data) -> void
 
auto upload_data (const std::vector< unsigned int > &data) -> void
 
auto download_data () const -> std::vector< unsigned int >
 
auto bind () const -> void
 
auto copy (const this_type &other) -> void
 
auto empty () const -> bool
 
auto size () const
 
auto capacity () const
 
auto reserve (GLsizei size) -> void
 
auto resize (GLsizei size) -> void
 
auto clear ()
 
auto gpu_malloc (GLsizei n) -> void
 
auto gpu_malloc (GLsizei n, const unsigned int &initial) -> void
 
auto set_usage (buffer_usage) -> void
 
auto push_back (unsigned int const &) -> void
 
auto pop_back () -> void
 
auto emplace_back (Ts &&...) -> void
 
auto emplace_back (Ts &&... ts) -> void
 
auto read_write_element_at (std::size_t idx)
 
auto read_element_at (std::size_t idx) const
 
auto write_only_element_at (std::size_t idx)
 
auto at (std::size_t idx)
 
auto at (std::size_t idx) const
 
auto operator[] (std::size_t idx)
 
auto operator[] (std::size_t idx) const
 
auto front ()
 
auto front () const
 
auto back ()
 
auto back () const
 
auto begin ()
 
auto begin () const
 
auto end ()
 
auto end () const
 
auto rmap () const
 
auto wmap ()
 
auto rwmap ()
 
auto map ()
 
auto map () const
 
auto map (std::size_t offset, std::size_t length)
 
auto map (std::size_t offset, std::size_t length) const
 
- Public Member Functions inherited from tatooine::gl::id_holder< GLuint >
 id_holder ()
 
 id_holder (GLuint _id)
 
 id_holder (id_holder const &other)=delete
 
 id_holder (id_holder &&other) noexcept
 
auto operator= (id_holder const &other) -> id_holder &=delete
 
auto operator= (id_holder &&other) noexcept -> id_holder &
 
 ~id_holder ()=default
 
auto id () const
 
void swap (id_holder &other)
 

Static Public Attributes

static const auto default_usage = buffer_usage::STATIC_DRAW
 
- Static Public Attributes inherited from tatooine::gl::buffer< GL_ELEMENT_ARRAY_BUFFER, unsigned int >
static constexpr auto array_type
 
static constexpr GLsizei data_size
 
- Static Public Attributes inherited from tatooine::gl::id_holder< GLuint >
static constexpr auto default_val
 

Additional Inherited Members

- Static Public Member Functions inherited from tatooine::gl::buffer< GL_ELEMENT_ARRAY_BUFFER, unsigned int >
static auto unbind () -> void
 
- Protected Member Functions inherited from tatooine::gl::id_holder< GLuint >
void set_id (GLuint id)
 
auto id_ptr ()
 
auto id_ref () -> auto &
 

Member Typedef Documentation

◆ parent_type

using tatooine::gl::indexbuffer::parent_type = buffer<GL_ELEMENT_ARRAY_BUFFER, unsigned int>

◆ this_type

Constructor & Destructor Documentation

◆ indexbuffer() [1/7]

◆ indexbuffer() [2/7]

◆ indexbuffer() [3/7]

◆ indexbuffer() [4/7]

◆ indexbuffer() [5/7]

DLL_API tatooine::gl::indexbuffer::indexbuffer ( GLsizei  n,
unsigned int  initial,
buffer_usage  usage = default_usage 
)

◆ indexbuffer() [6/7]

DLL_API tatooine::gl::indexbuffer::indexbuffer ( const std::vector< unsigned int > &  data,
buffer_usage  usage = default_usage 
)

◆ indexbuffer() [7/7]

DLL_API tatooine::gl::indexbuffer::indexbuffer ( std::initializer_list< unsigned int > &&  list)

Member Function Documentation

◆ operator=() [1/2]

DLL_API this_type & tatooine::gl::indexbuffer::operator= ( const this_type other)

◆ operator=() [2/2]

DLL_API this_type & tatooine::gl::indexbuffer::operator= ( this_type &&  other)

Member Data Documentation

◆ default_usage

const auto tatooine::gl::indexbuffer::default_usage = buffer_usage::STATIC_DRAW
static

The documentation for this class was generated from the following file: