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

scalar type container More...

#include <scalar_type.hpp>

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

Public Member Functions

 scalar_type (ValueType type, size_t size) noexcept
 constructor with scalar type and type size
 scalar_type (const scalar_type &other) noexcept
 default copy constructor
 scalar_type (scalar_type &&other) noexcept
 default move constructor
 ~scalar_type () noexcept override
 default destructor
scalar_typeoperator= (const scalar_type &other) noexcept
 default copy assign operator
scalar_typeoperator= (scalar_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
std::string to_string () const noexcept override
 converts type to string
Public Member Functions inherited from glslstruct::type< scalar_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

ValueType _type
 value scalar type

Friends

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

Additional Inherited Members

Protected Member Functions inherited from glslstruct::type< scalar_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

scalar type container

Member Typedef Documentation

◆ base_type

Constructor & Destructor Documentation

◆ scalar_type() [1/3]

scalar_type::scalar_type ( ValueType type,
size_t size )
explicitnoexcept

constructor with scalar type and type size

◆ scalar_type() [2/3]

scalar_type::scalar_type ( const scalar_type & other)
defaultnoexcept

default copy constructor

◆ scalar_type() [3/3]

scalar_type::scalar_type ( scalar_type && other)
defaultnoexcept

default move constructor

◆ ~scalar_type()

scalar_type::~scalar_type ( )
overridedefaultnoexcept

default destructor

Member Function Documentation

◆ accept()

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

accept function for type visitors

◆ get_type()

ValueType scalar_type::get_type ( ) const
nodiscardnoexcept

returns scalar type

◆ operator=() [1/2]

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

default copy assign operator

◆ operator=() [2/2]

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

default move assign operator

◆ to_string()

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

converts type to string

Implements glslstruct::base_type.

◆ operator!=

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

checks if two scalar types are not equal

◆ operator==

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

checks if two scalar types are equal

◆ std::hash< scalar_type >

friend struct std::hash< scalar_type >
friend

Member Data Documentation

◆ _type

ValueType glslstruct::scalar_type::_type
private

value scalar type