Tatooine
Public Types | Public Member Functions | Static Public Attributes | List of all members
tatooine::gl::pixelunpackbuffer< T > Class Template Reference

#include <pixelunpackbuffer.h>

Inheritance diagram for tatooine::gl::pixelunpackbuffer< T >:
[legend]
Collaboration diagram for tatooine::gl::pixelunpackbuffer< T >:
[legend]

Public Types

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

Public Member Functions

 pixelunpackbuffer (buffer_usage usage=default_usage)
 
 pixelunpackbuffer (const pixelunpackbuffer &other)
 
 pixelunpackbuffer (pixelunpackbuffer &&other)
 
 pixelunpackbuffer (size_t n, buffer_usage usage=default_usage)
 
 pixelunpackbuffer (size_t n, const T &initial, buffer_usage usage=default_usage)
 
 pixelunpackbuffer (const std::vector< T > &data, buffer_usage usage=default_usage)
 
 pixelunpackbuffer (std::initializer_list< T > &&list)
 
auto & operator= (const pixelunpackbuffer &other)
 
auto & operator= (pixelunpackbuffer &&other)
 
- Public Member Functions inherited from tatooine::gl::buffer< GL_PIXEL_UNPACK_BUFFER, T >
 buffer (buffer_usage usage)
 
 buffer (const buffer &other)
 
 buffer (buffer &&other) noexcept
 
 buffer (GLsizei n, buffer_usage usage)
 
 buffer (GLsizei n, const T &initial, buffer_usage usage)
 
 buffer (const std::vector< T > &data, buffer_usage usage)
 
auto operator= (const buffer &other) -> buffer &
 
auto operator= (buffer &&other) noexcept -> buffer &
 
auto operator= (const std::vector< T > &data) -> buffer &
 
 ~buffer ()
 
auto create_handle () -> void
 
auto destroy_handle () -> void
 
auto upload_data (const T &data) -> void
 
auto upload_data (const std::vector< T > &data) -> void
 
auto download_data () const -> std::vector< T >
 
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 T &initial) -> void
 
auto set_usage (buffer_usage) -> void
 
auto push_back (T 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 constexpr buffer_usage default_usage = buffer_usage::STATIC_COPY
 
- Static Public Attributes inherited from tatooine::gl::buffer< GL_PIXEL_UNPACK_BUFFER, T >
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_PIXEL_UNPACK_BUFFER, T >
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

template<typename T >
using tatooine::gl::pixelunpackbuffer< T >::parent_type = buffer<GL_PIXEL_UNPACK_BUFFER, T>

◆ this_type

template<typename T >
using tatooine::gl::pixelunpackbuffer< T >::this_type = pixelunpackbuffer<T>

Constructor & Destructor Documentation

◆ pixelunpackbuffer() [1/7]

template<typename T >
tatooine::gl::pixelunpackbuffer< T >::pixelunpackbuffer ( buffer_usage  usage = default_usage)
inline

◆ pixelunpackbuffer() [2/7]

template<typename T >
tatooine::gl::pixelunpackbuffer< T >::pixelunpackbuffer ( const pixelunpackbuffer< T > &  other)
inline

◆ pixelunpackbuffer() [3/7]

template<typename T >
tatooine::gl::pixelunpackbuffer< T >::pixelunpackbuffer ( pixelunpackbuffer< T > &&  other)
inline

◆ pixelunpackbuffer() [4/7]

template<typename T >
tatooine::gl::pixelunpackbuffer< T >::pixelunpackbuffer ( size_t  n,
buffer_usage  usage = default_usage 
)
inline

◆ pixelunpackbuffer() [5/7]

template<typename T >
tatooine::gl::pixelunpackbuffer< T >::pixelunpackbuffer ( size_t  n,
const T &  initial,
buffer_usage  usage = default_usage 
)
inline

◆ pixelunpackbuffer() [6/7]

template<typename T >
tatooine::gl::pixelunpackbuffer< T >::pixelunpackbuffer ( const std::vector< T > &  data,
buffer_usage  usage = default_usage 
)
inline

◆ pixelunpackbuffer() [7/7]

template<typename T >
tatooine::gl::pixelunpackbuffer< T >::pixelunpackbuffer ( std::initializer_list< T > &&  list)
inline

Member Function Documentation

◆ operator=() [1/2]

template<typename T >
auto & tatooine::gl::pixelunpackbuffer< T >::operator= ( const pixelunpackbuffer< T > &  other)
inline

◆ operator=() [2/2]

template<typename T >
auto & tatooine::gl::pixelunpackbuffer< T >::operator= ( pixelunpackbuffer< T > &&  other)
inline

Member Data Documentation

◆ default_usage

template<typename T >
constexpr buffer_usage tatooine::gl::pixelunpackbuffer< T >::default_usage = buffer_usage::STATIC_COPY
staticconstexpr

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