Tatooine
Public Types | Public Member Functions | Private Attributes | List of all members
tatooine::gl::rbuffer_map_element< array_type, T > Class Template Reference

Returned by buffer::operator[] const for reading single elements. More...

#include <buffer.h>

Collaboration diagram for tatooine::gl::rbuffer_map_element< array_type, T >:
[legend]

Public Types

using buffer_type = buffer< array_type, T >
 
using read_map_type = rbuffer_map< array_type, T >
 

Public Member Functions

 rbuffer_map_element (const buffer_type *buffer, std::size_t idx)
 
 rbuffer_map_element (const rbuffer_map_element &other)=default
 
 rbuffer_map_element (rbuffer_map_element &&other) noexcept=default
 
auto operator= (const rbuffer_map_element &other) -> rbuffer_map_element &=default
 
auto operator= (rbuffer_map_element &&other) noexcept -> rbuffer_map_element &=default
 
 ~rbuffer_map_element ()=default
 
 operator T () const
 for accessing single gpu data element. More...
 
auto download () const
 
auto operator== (const T &t) const -> bool
 
auto operator!= (const T &t) const -> bool
 
auto operator> (const T &t) const -> bool
 
auto operator>= (const T &t) const -> bool
 
auto operator< (const T &t) const -> bool
 
auto operator<= (const T &t) const -> bool
 

Private Attributes

const buffer_typem_buffer
 
std::size_t m_idx
 

Detailed Description

template<GLsizei array_type, typename T>
class tatooine::gl::rbuffer_map_element< array_type, T >

Returned by buffer::operator[] const for reading single elements.

Member Typedef Documentation

◆ buffer_type

template<GLsizei array_type, typename T >
using tatooine::gl::rbuffer_map_element< array_type, T >::buffer_type = buffer<array_type, T>

◆ read_map_type

template<GLsizei array_type, typename T >
using tatooine::gl::rbuffer_map_element< array_type, T >::read_map_type = rbuffer_map<array_type, T>

Constructor & Destructor Documentation

◆ rbuffer_map_element() [1/3]

template<GLsizei array_type, typename T >
tatooine::gl::rbuffer_map_element< array_type, T >::rbuffer_map_element ( const buffer_type buffer,
std::size_t  idx 
)
inline

◆ rbuffer_map_element() [2/3]

template<GLsizei array_type, typename T >
tatooine::gl::rbuffer_map_element< array_type, T >::rbuffer_map_element ( const rbuffer_map_element< array_type, T > &  other)
default

◆ rbuffer_map_element() [3/3]

template<GLsizei array_type, typename T >
tatooine::gl::rbuffer_map_element< array_type, T >::rbuffer_map_element ( rbuffer_map_element< array_type, T > &&  other)
defaultnoexcept

◆ ~rbuffer_map_element()

template<GLsizei array_type, typename T >
tatooine::gl::rbuffer_map_element< array_type, T >::~rbuffer_map_element ( )
default

Member Function Documentation

◆ download()

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::download ( ) const
inline

◆ operator T()

template<GLsizei array_type, typename T >
tatooine::gl::rbuffer_map_element< array_type, T >::operator T ( ) const
inlineexplicit

for accessing single gpu data element.

◆ operator!=()

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::operator!= ( const T &  t) const -> bool
inline

◆ operator<()

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::operator< ( const T &  t) const -> bool
inline

◆ operator<=()

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::operator<= ( const T &  t) const -> bool
inline

◆ operator=() [1/2]

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::operator= ( const rbuffer_map_element< array_type, T > &  other) -> rbuffer_map_element &=default
default

◆ operator=() [2/2]

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::operator= ( rbuffer_map_element< array_type, T > &&  other) -> rbuffer_map_element &=default
defaultnoexcept

◆ operator==()

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::operator== ( const T &  t) const -> bool
inline

◆ operator>()

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::operator> ( const T &  t) const -> bool
inline

◆ operator>=()

template<GLsizei array_type, typename T >
auto tatooine::gl::rbuffer_map_element< array_type, T >::operator>= ( const T &  t) const -> bool
inline

Member Data Documentation

◆ m_buffer

template<GLsizei array_type, typename T >
const buffer_type* tatooine::gl::rbuffer_map_element< array_type, T >::m_buffer
private

◆ m_idx

template<GLsizei array_type, typename T >
std::size_t tatooine::gl::rbuffer_map_element< array_type, T >::m_idx
private

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