GLSL Struct 1.4.0
glslstruct
Loading...
Searching...
No Matches
glslstruct::mat_data Class Reference

glsl mat data container More...

#include <mat_data.hpp>

Collaboration diagram for glslstruct::mat_data:
[legend]

Public Member Functions

 mat_data (const std::vector< vec_data > &data)
 constructor which accepts raw data (not recommended to use for end user)
template<class T, glm::length_t C, glm::length_t R, glm::qualifier Q>
 mat_data (const glm::mat< C, R, T, Q > &value) _GLSL_STRUCT_REQUIRES((mstd
 constructor for glm::mat
template<class T, size_t C, size_t R>
 mat_data (const mstd::mat< C, R, T > &value) _GLSL_STRUCT_REQUIRES((mstd
 constructor for mstd::mat
 mat_data (const mat_data &other)
 default copy constructor
 mat_data (mat_data &&other) noexcept
 default move constructor
 ~mat_data ()
 default destructor
mat_dataoperator= (const mat_data &other)
 default copy assign operator
mat_dataoperator= (mat_data &&other) noexcept
 default move assign operator
template<utils::glsl_mat T>
get () const
 returns value from this mat_data container using mat_traits conversion
const std::vector< vec_data > & data () const noexcept
 returns value data in bytes

Static Private Member Functions

template<class T, glm::length_t C, glm::length_t R, glm::qualifier Q>
static _GLSL_STRUCT_CONSTEXPR20 std::vector< vec_data_get_data (const glm::mat< C, R, T, Q > &value)
 returns vector of data bytes of glm::mat
template<class T, size_t C, size_t R>
static _GLSL_STRUCT_CONSTEXPR20 std::vector< vec_data_get_data (const mstd::mat< C, R, T > &value)
 returns vector of data bytes of mstd::mat

Private Attributes

std::vector< vec_data_data
 vector of data bytes

Detailed Description

glsl mat data container

Constructor & Destructor Documentation

◆ mat_data() [1/5]

mat_data::mat_data ( const std::vector< vec_data > & data)
explicit

constructor which accepts raw data (not recommended to use for end user)

◆ mat_data() [2/5]

template<class T, glm::length_t C, glm::length_t R, glm::qualifier Q>
glslstruct::mat_data::mat_data ( const glm::mat< C, R, T, Q > & value)
inlineexplicit

constructor for glm::mat

◆ mat_data() [3/5]

template<class T, size_t C, size_t R>
glslstruct::mat_data::mat_data ( const mstd::mat< C, R, T > & value)
inlineexplicit

constructor for mstd::mat

◆ mat_data() [4/5]

mat_data::mat_data ( const mat_data & other)
default

default copy constructor

◆ mat_data() [5/5]

mat_data::mat_data ( mat_data && other)
defaultnoexcept

default move constructor

◆ ~mat_data()

mat_data::~mat_data ( )
default

default destructor

Member Function Documentation

◆ _get_data() [1/2]

template<class T, glm::length_t C, glm::length_t R, glm::qualifier Q>
_GLSL_STRUCT_CONSTEXPR20 std::vector< vec_data > glslstruct::mat_data::_get_data ( const glm::mat< C, R, T, Q > & value)
inlinestaticnodiscardprivate

returns vector of data bytes of glm::mat

◆ _get_data() [2/2]

template<class T, size_t C, size_t R>
_GLSL_STRUCT_CONSTEXPR20 std::vector< vec_data > glslstruct::mat_data::_get_data ( const mstd::mat< C, R, T > & value)
inlinestaticnodiscardprivate

returns vector of data bytes of mstd::mat

◆ data()

const std::vector< vec_data > & mat_data::data ( ) const
nodiscardnoexcept

returns value data in bytes

◆ get()

template<utils::glsl_mat T>
T glslstruct::mat_data::get ( ) const
inline

returns value from this mat_data container using mat_traits conversion

◆ operator=() [1/2]

mat_data & mat_data::operator= ( const mat_data & other)
default

default copy assign operator

◆ operator=() [2/2]

mat_data & mat_data::operator= ( mat_data && other)
defaultnoexcept

default move assign operator

Member Data Documentation

◆ _data

std::vector<vec_data> glslstruct::mat_data::_data
private

vector of data bytes