|
| _GLSL_STRUCT_CONSTEXPR17 | base_layout () noexcept _GLSL_STRUCT_REQUIRES(!has_context||(has_context &&std |
| | default constructor without providing context
|
| template<class... Ts, size_t... Nums> |
| _GLSL_STRUCT_CONSTEXPR17 | base_layout (const glsl_variable< Ts, Nums > &... vars) noexcept _GLSL_STRUCT_REQUIRES(!has_context||(has_context &&std |
| | constructor for multiple variables
|
| _GLSL_STRUCT_CONSTEXPR17 | base_layout (const _GLSL_STRUCT_TYPENAME17 base_struct::context_type &ctx) noexcept _GLSL_STRUCT_REQUIRES(has_context) |
| | constructor with provided context
|
| template<class... Ts, size_t... Nums> |
| _GLSL_STRUCT_CONSTEXPR17 | base_layout (const glsl_variable< Ts, Nums > &... vars, const _GLSL_STRUCT_TYPENAME17 base_struct::context_type &ctx) noexcept _GLSL_STRUCT_REQUIRES(has_context) |
| | constructor for multiple variables and with provided context
|
| _GLSL_STRUCT_CONSTEXPR17 | base_layout (const base_layout &other) noexcept=default |
| | default copy constructor
|
| _GLSL_STRUCT_CONSTEXPR17 | base_layout (base_layout &&other) noexcept=default |
| | default move constructor
|
| _GLSL_STRUCT_CONSTEXPR20 | ~base_layout () noexcept=default |
| | default destructor
|
| _GLSL_STRUCT_CONSTEXPR17 base_layout & | operator= (const base_layout &other) noexcept=default |
| | default copy assign operator
|
| _GLSL_STRUCT_CONSTEXPR17 base_layout & | operator= (base_layout &&other) noexcept=default |
| | default move assign operator
|
| _GLSL_STRUCT_CONSTEXPR17 bool | contains (const std::string_view name) const noexcept |
| | returns true if layout contains variable with given name
|
| _GLSL_STRUCT_CONSTEXPR17 const var_data & | get (const std::string_view name) const noexcept |
| | returns variable data
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | get_array_count (const std::string_view name) const noexcept |
| | returns array count (if single value then returns 1 else if value doesn't exist returns 0 else array count)
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | get_array_elem_size (const std::string_view name) const noexcept |
| | returns elem size of array
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | get_offset (const std::string_view name) const noexcept |
| | returns offset of variable with given name
|
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | get_array_offsets (const std::string_view name) const noexcept |
| | returns offsets of array elements
|
| _GLSL_STRUCT_CONSTEXPR17 const base_type_handle & | get_type (const std::string_view name) const noexcept |
| | returns type of variable
|
| template<utils::glsl_type Type> |
| _GLSL_STRUCT_CONSTEXPR17 std::shared_ptr< Type > | get_type (const std::string_view name) const noexcept |
| | returns type of variable with casting to given type (dynamic casting occurs)
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | get_total_size (const std::string_view name) const noexcept |
| | returns total size of variable (size + padding)
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | get_size (const std::string_view name) const noexcept |
| | returns size of variable
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | get_padding (const std::string_view name) const noexcept |
| | returns padding of variable
|
| _GLSL_STRUCT_CONSTEXPR20 std::vector< std::string > | get_names () const noexcept |
| | returns all variables names
|
| _GLSL_STRUCT_CONSTEXPR20 const mstd::ordered_map< std::string, var_data > & | get_variables () const noexcept |
| | returns all variables and their data
|
| mstd::ordered_map< std::string, var_data > | get_top_level_variables () const noexcept |
| | returns all top level variables and their data
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | base_alignment () const noexcept |
| | returns base alignment of layout
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | size () const noexcept |
| | returns size of layout
|
| _GLSL_STRUCT_CONSTEXPR17 void | clear () noexcept |
| | clears layout and all variables
|
| template<utils::glsl_scalar S> |
| _GLSL_STRUCT_CONSTEXPR17 size_t | add (const std::string_view name) |
| | adds scalar
|
| template<utils::glsl_scalar S> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | add (const std::string_view name, const size_t count) |
| | adds array of scalars
|
| template<utils::glsl_scalars_array SA> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | add (const std::string_view name, const size_t count) |
| | adds array of scalars
|
| template<utils::glsl_scalars_static_size_array SA> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | add (const std::string_view name) |
| | adds array of scalars
|
| template<utils::glsl_vec V> |
| _GLSL_STRUCT_CONSTEXPR17 size_t | add (const std::string_view name) |
| | adds vec
|
| template<utils::glsl_vec V> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | add (const std::string_view name, const size_t count) |
| | adds array of vecs
|
| template<utils::glsl_vecs_array VA> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | add (const std::string_view name, const size_t count) |
| | adds array of vecs
|
| template<utils::glsl_vecs_static_size_array VA> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | add (const std::string_view name) |
| | adds array of vecs
|
| template<utils::glsl_mat M> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | add (const std::string_view name) |
| | adds mat
|
| template<utils::glsl_mat M> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< std::vector< size_t > > | add (const std::string_view name, const size_t count) |
| | adds array of mats
|
| template<utils::glsl_mats_array MA> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< std::vector< size_t > > | add (const std::string_view name, const size_t count) |
| | adds array of mats
|
| template<utils::glsl_mats_static_size_array MA> |
| _GLSL_STRUCT_CONSTEXPR20 std::vector< std::vector< size_t > > | add (const std::string_view name) |
| | adds array of mats
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | add (const std::string_view name, const base_layout &layout) |
| | adds struct with given layout
|
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | add (const std::string_view name, const base_layout &layout, const size_t count) |
| | adds array of structs with given layout
|
| _GLSL_STRUCT_CONSTEXPR17 bool | operator== (const base_layout &other) const noexcept |
| | checks equality of layouts
|
| _GLSL_STRUCT_CONSTEXPR17 bool | operator!= (const base_layout &other) const noexcept=default |
| | default not equal operator
|
|
| _GLSL_STRUCT_CONSTEXPR17 var_data & | _set_variable (const std::string_view name, const size_t offset, const base_type_handle &type, const bool isTopLevel, const size_t padding=0) |
| | sets variable data
|
| _GLSL_STRUCT_CONSTEXPR17 var_data & | _add_variable (const std::string_view name, const size_t alignmentOffset, const bool isTopLevel, const base_type_handle &type) |
| | sets variable data
|
| _GLSL_STRUCT_CONSTEXPR17 var_data & | _add_array_variable (const std::string_view name, const std::vector< size_t > &alignmentOffsets, const bool isTopLevel, const base_type_handle &elemType, const base_type_handle &arrayType) |
| | sets array variables data
|
| _GLSL_STRUCT_CONSTEXPR17 var_data & | _add_array_variable (const std::string_view name, const std::vector< size_t > &alignmentOffsets, const bool isTopLevel, const size_t count, const base_type_handle &elemType, const size_t arrayBaseOffset) |
| | sets standard array variable
|
| _GLSL_STRUCT_CONSTEXPR17 var_data & | _add_mat_variable (const std::string_view name, const std::vector< size_t > &alignmentOffsets, const bool isTopLevel, const ValueType valueType, const size_t columns, const size_t rows, const size_t vecBaseOffset, const size_t matBaseOffset) |
| | sets mat variable
|
| var_data & | _add_mat_array_variable (const std::string_view name, const std::vector< std::vector< size_t > > &alignmentOffsets, const bool isTopLevel, const size_t count, const ValueType valueType, const size_t columns, const size_t rows, const size_t vecBaseOffset, const size_t matBaseOffset, const size_t arrayBaseOffset, const size_t matPadding) |
| | sets array of mats variable
|
| _GLSL_STRUCT_CONSTEXPR17 void | _before_add () |
| | calls before add event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _before_add_array () |
| | calls before add array event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _before_add_scalar () |
| | calls before add scalar event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _before_add_vec () |
| | calls before add vec event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _before_add_mat () |
| | calls before add mat event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _before_add_struct () |
| | calls before add struct event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _after_add (const size_t baseOffset, const size_t baseAlignment) |
| | calls after add event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _after_add_array (const size_t baseOffset, const size_t baseAlignment) |
| | calls after add array event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _after_add_scalar (const size_t baseOffset, const size_t baseAlignment) |
| | calls after add scalar event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _after_add_vec (const size_t baseOffset, const size_t baseAlignment) |
| | calls after add vec event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _after_add_mat (const size_t baseOffset, const size_t baseAlignment) |
| | calls after add mat event
|
| _GLSL_STRUCT_CONSTEXPR17 void | _after_add_struct (const size_t baseOffset, const size_t baseAlignment) |
| | calls after add struct event
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | _get_array_alignment (const size_t elemBaseAlignment) |
| | returns array of elements alignment
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | _get_scalar_alignment (const ValueType valueType) |
| | returns scalar alignment
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | _get_scalar_array_alignment (const ValueType valueType) |
| | returns array of scalars alignment
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | _get_vec_alignment (const ValueType valueType, const size_t length) |
| | returns vec alignment
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | _get_vec_array_alignment (const ValueType valueType, const size_t length) |
| | returns array of vecs alignment
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | _get_mat_alignment (const ValueType valueType, const size_t rows) |
| | returns mat alignment
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | _add_scalar (const std::string_view name, const ValueType valueType) |
| | adds scalar
|
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | _add_scalar_array (const std::string_view name, const ValueType valueType, const size_t count) |
| | adds array of scalars
|
| _GLSL_STRUCT_CONSTEXPR17 size_t | _add_vec (const std::string_view name, const size_t length, const ValueType valueType) |
| | adds vec
|
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | _add_vec_array (const std::string_view name, const size_t length, const ValueType valueType, const size_t count) |
| | adds array of vecs
|
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | _add_mat (const std::string_view name, const size_t columns, const size_t rows, const ValueType valueType) |
| | adds mat
|
| _GLSL_STRUCT_CONSTEXPR20 std::vector< std::vector< size_t > > | _add_mat_array (const std::string_view name, const size_t columns, const size_t rows, const ValueType valueType, const size_t count) |
| | adds array of mats
|
| _GLSL_STRUCT_CONSTEXPR20 size_t | _add_struct (const std::string_view name, const size_t baseAlignment, const size_t baseOffset, const mstd::ordered_map< std::string, var_data > &values) |
| | adds struct
|
| _GLSL_STRUCT_CONSTEXPR20 std::vector< size_t > | _add_struct_array (const std::string_view name, const size_t baseAlignment, const size_t baseOffset, const mstd::ordered_map< std::string, var_data > &values, const size_t count) |
| | adds array of structs
|
| template<class T, class... Ts, size_t Num, size_t... Nums> |
| _GLSL_STRUCT_CONSTEXPR17 void | _add_variables (const glsl_variable< T, Num > &var, const glsl_variable< Ts, Nums > &... vars) noexcept |
| | adds multiple variables
|
template<layout_traits Traits>
class glslstruct::base_layout< Traits >
base layout container
- Template Parameters
-