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

mat type container More...

#include <mat_type.hpp>

Inheritance diagram for glslstruct::mat_type:
[legend]
Collaboration diagram for glslstruct::mat_type:
[legend]

Public Member Functions

 mat_type (ValueType type, size_t cols, size_t rows, size_t size) noexcept
 constructor with scalar type, number of columns and rows of mat and size of type
 mat_type (const mat_type &other) noexcept
 default copy constructor
 mat_type (mat_type &&other) noexcept
 default move constructor
 ~mat_type () noexcept override
 default destructor
mat_typeoperator= (const mat_type &other) noexcept
 default copy assign operator
mat_typeoperator= (mat_type &&other) noexcept
 default move assign operator
template<type_visitor T>
void accept (T &visitor) const
 accept function for type visitors
ValueType get_type () const noexcept
 returns scalar type of mat
size_t get_rows () const noexcept
 returns rows number
size_t get_cols () const noexcept
 returns columns number
size_t get_vec_length () const noexcept
 returns column vector length (rows)
size_t get_array_count () const noexcept
 returns column vectors number (columns)
std::string to_string () const noexcept override
 converts type to string
Public Member Functions inherited from glslstruct::type< mat_type >
bool operator!= (const base_type &other) const noexcept
 default not equal operator
_GLSL_STRUCT_CONSTEXPR20 type (const size_t size) noexcept
 constructor with type size
virtual _GLSL_STRUCT_CONSTEXPR20 ~type () noexcept override=default
 default destructor
_GLSL_STRUCT_CONSTEXPR17 typeoperator= (const type &other) noexcept=default
 default copy assign operator
void accept (T &visitor) const
 accept function for type visitors
bool operator== (const base_type &other) const noexcept override
 equal operator
Public Member Functions inherited from glslstruct::base_type
 base_type (size_t size) noexcept
 constructor with type size
 base_type (const base_type &other) noexcept
 default copy constructor
 base_type (base_type &&other) noexcept
 default move constructor
virtual ~base_type () noexcept
 default virtual destructor
base_typeoperator= (const base_type &other) noexcept
 default copy assignment operator
base_typeoperator= (base_type &&other) noexcept
 default move assignment operator
template<type_visitor T>
void accept (T &visitor) const
 accept function for type_visitors
bool operator!= (const base_type &other) const noexcept
 default not equal operator
size_t get_size () const noexcept
 returns size of type

Private Types

using base_type = type

Private Attributes

size_t _cols
 number of columns
size_t _rows
 number of rows
ValueType _type
 scalar type of mat

Friends

struct std::hash< mat_type >
bool operator== (const mat_type &lhs, const mat_type &rhs)
 checks if two mats types are equal
bool operator!= (const mat_type &lhs, const mat_type &rhs)
 checks if two mats types are not equal

Additional Inherited Members

Protected Member Functions inherited from glslstruct::type< mat_type >
void _accept (const mstd::function_view< void(const scalar_type &)> scalarVisit, const mstd::function_view< void(const vec_type &)> vecVisit, const mstd::function_view< void(const mat_type &)> matVisit, const mstd::function_view< void(const struct_type &)> structVisit, const mstd::function_view< void(const array_type &)> arrayVisit) const override
 accept function overload
Protected Member Functions inherited from glslstruct::base_type
virtual void _accept (mstd::function_view< void(const scalar_type &)> scalarVisit, mstd::function_view< void(const vec_type &)> vecVisit, mstd::function_view< void(const mat_type &)> matVisit, mstd::function_view< void(const struct_type &)> structVisit, mstd::function_view< void(const array_type &)> arrayVisit) const =0
 accept function for type visitors

Detailed Description

mat type container

Member Typedef Documentation

◆ base_type

Constructor & Destructor Documentation

◆ mat_type() [1/3]

mat_type::mat_type ( ValueType type,
size_t cols,
size_t rows,
size_t size )
noexcept

constructor with scalar type, number of columns and rows of mat and size of type

◆ mat_type() [2/3]

mat_type::mat_type ( const mat_type & other)
defaultnoexcept

default copy constructor

◆ mat_type() [3/3]

mat_type::mat_type ( mat_type && other)
defaultnoexcept

default move constructor

◆ ~mat_type()

mat_type::~mat_type ( )
overridedefaultnoexcept

default destructor

Member Function Documentation

◆ accept()

template<type_visitor T>
void glslstruct::mat_type::accept ( T & visitor) const
inline

accept function for type visitors

◆ get_array_count()

size_t mat_type::get_array_count ( ) const
nodiscardnoexcept

returns column vectors number (columns)

◆ get_cols()

size_t mat_type::get_cols ( ) const
nodiscardnoexcept

returns columns number

◆ get_rows()

size_t mat_type::get_rows ( ) const
nodiscardnoexcept

returns rows number

◆ get_type()

ValueType mat_type::get_type ( ) const
nodiscardnoexcept

returns scalar type of mat

◆ get_vec_length()

size_t mat_type::get_vec_length ( ) const
nodiscardnoexcept

returns column vector length (rows)

◆ operator=() [1/2]

mat_type & mat_type::operator= ( const mat_type & other)
defaultnoexcept

default copy assign operator

◆ operator=() [2/2]

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

default move assign operator

◆ to_string()

std::string mat_type::to_string ( ) const
nodiscardoverridevirtualnoexcept

converts type to string

Implements glslstruct::base_type.

◆ operator!=

bool operator!= ( const mat_type & lhs,
const mat_type & rhs )
friend

checks if two mats types are not equal

◆ operator==

bool operator== ( const mat_type & lhs,
const mat_type & rhs )
friend

checks if two mats types are equal

◆ std::hash< mat_type >

friend struct std::hash< mat_type >
friend

Member Data Documentation

◆ _cols

size_t glslstruct::mat_type::_cols
private

number of columns

◆ _rows

size_t glslstruct::mat_type::_rows
private

number of rows

◆ _type

ValueType glslstruct::mat_type::_type
private

scalar type of mat