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

#include <atomiccounterbuffer.h>

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

Public Types

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

Public Member Functions

DLL_API atomiccounterbuffer (buffer_usage usage=default_usage)
 
 atomiccounterbuffer (const this_type &other)=default
 
 atomiccounterbuffer (this_type &&other) noexcept=default
 
auto operator= (const this_type &other) -> atomiccounterbuffer &=default
 
auto operator= (this_type &&other) noexcept -> atomiccounterbuffer &=default
 
 ~atomiccounterbuffer ()=default
 
DLL_API atomiccounterbuffer (GLsizei n, buffer_usage usage=default_usage)
 
DLL_API atomiccounterbuffer (GLsizei n, GLuint initial, buffer_usage usage=default_usage)
 
DLL_API atomiccounterbuffer (const std::vector< GLuint > &data, buffer_usage usage=default_usage)
 
DLL_API atomiccounterbuffer (std::initializer_list< GLuint > &&data)
 
DLL_API auto set_all_to (GLuint val) -> void
 
auto to_zero ()
 
DLL_API auto bind (GLuint i) const -> void
 
- Public Member Functions inherited from tatooine::gl::buffer< GL_ATOMIC_COUNTER_BUFFER, GLuint >
 buffer (buffer_usage usage)
 
 buffer (const buffer &other)
 
 buffer (buffer &&other) noexcept
 
 buffer (GLsizei n, buffer_usage usage)
 
 buffer (GLsizei n, const GLuint &initial, buffer_usage usage)
 
 buffer (const std::vector< GLuint > &data, buffer_usage usage)
 
auto operator= (const buffer &other) -> buffer &
 
auto operator= (buffer &&other) noexcept -> buffer &
 
auto operator= (const std::vector< GLuint > &data) -> buffer &
 
 ~buffer ()
 
auto create_handle () -> void
 
auto destroy_handle () -> void
 
auto upload_data (const GLuint &data) -> void
 
auto upload_data (const std::vector< GLuint > &data) -> void
 
auto download_data () const -> std::vector< GLuint >
 
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 GLuint &initial) -> void
 
auto set_usage (buffer_usage) -> void
 
auto push_back (GLuint 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 Member Functions

static DLL_API auto unbind (GLuint i) -> void
 
- Static Public Member Functions inherited from tatooine::gl::buffer< GL_ATOMIC_COUNTER_BUFFER, GLuint >
static auto unbind () -> void
 

Static Public Attributes

static const auto default_usage = buffer_usage::DYNAMIC_DRAW
 
- Static Public Attributes inherited from tatooine::gl::buffer< GL_ATOMIC_COUNTER_BUFFER, GLuint >
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

- 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::atomiccounterbuffer::parent_type = buffer<GL_ATOMIC_COUNTER_BUFFER, GLuint>

◆ this_type

Constructor & Destructor Documentation

◆ atomiccounterbuffer() [1/7]

◆ atomiccounterbuffer() [2/7]

◆ atomiccounterbuffer() [3/7]

◆ ~atomiccounterbuffer()

tatooine::gl::atomiccounterbuffer::~atomiccounterbuffer ( )
default

◆ atomiccounterbuffer() [4/7]

◆ atomiccounterbuffer() [5/7]

◆ atomiccounterbuffer() [6/7]

DLL_API tatooine::gl::atomiccounterbuffer::atomiccounterbuffer ( const std::vector< GLuint > &  data,
buffer_usage  usage = default_usage 
)
explicit

◆ atomiccounterbuffer() [7/7]

DLL_API tatooine::gl::atomiccounterbuffer::atomiccounterbuffer ( std::initializer_list< GLuint > &&  data)

Member Function Documentation

◆ bind()

DLL_API auto tatooine::gl::atomiccounterbuffer::bind ( GLuint  i) const -> void

◆ operator=() [1/2]

auto tatooine::gl::atomiccounterbuffer::operator= ( const this_type other) -> atomiccounterbuffer &=default
default

◆ operator=() [2/2]

auto tatooine::gl::atomiccounterbuffer::operator= ( this_type &&  other) -> atomiccounterbuffer &=default
defaultnoexcept

◆ set_all_to()

DLL_API auto tatooine::gl::atomiccounterbuffer::set_all_to ( GLuint  val) -> void

◆ to_zero()

auto tatooine::gl::atomiccounterbuffer::to_zero ( )
inline

◆ unbind()

static DLL_API auto tatooine::gl::atomiccounterbuffer::unbind ( GLuint  i) -> void
static

Member Data Documentation

◆ default_usage

const auto tatooine::gl::atomiccounterbuffer::default_usage = buffer_usage::DYNAMIC_DRAW
static

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