2
3
4
5
6
7
8
11#ifndef _GLSL_STRUCT_SCALAR_LAYOUT_TRAITS_HPP_
12 #define _GLSL_STRUCT_SCALAR_LAYOUT_TRAITS_HPP_
14 #include <glslstruct/config.hpp>
17_GLSL_STRUCT_ERROR(
"This is only available for c++17 and greater!");
20 #include <glslstruct/layout/traits/contexts/layout_traits_contexts.hpp>
21 #include <glslstruct/utils/ValueType.hpp>
25
26
27
31
32
33
51 static void after_add(size_t& currentOffset, size_t size, size_t alignment,
context_type& ctx)
noexcept;
#define _GLSL_STRUCT_HAS_CXX17
check if compiler has c++ version greater or equal to c++17
Definition config.hpp:130
Main namespace of glslstruct library.
Definition scalar_layout_traits.hpp:23
layout context which contains max alignment of all variables
Definition layout_traits_contexts.hpp:25
Scalar Layout additional context.
Definition scalar_layout_traits.hpp:28
Scalar Layout traits.
Definition scalar_layout_traits.hpp:34
static size_t get_scalar_alignment(ValueType valueType, context_type &ctx) noexcept
scalar layout scalar alignment
Definition scalar_layout_traits.cpp:21
scalar_layout_context context_type
scalar layout context type
Definition scalar_layout_traits.hpp:36
static size_t get_vec_alignment(ValueType valueType, size_t length, context_type &ctx) noexcept
scalar layout vec alignment
Definition scalar_layout_traits.cpp:25
static size_t get_struct_alignment(const context_type &ctx) noexcept
scalar layout struct alignment
Definition scalar_layout_traits.cpp:33
static size_t get_array_alignment(size_t elemBaseAlignment, context_type &ctx) noexcept
scalar layout array alignment
Definition scalar_layout_traits.cpp:29
static void after_add(size_t ¤tOffset, size_t size, size_t alignment, context_type &ctx) noexcept
scalar layout after_add action
Definition scalar_layout_traits.cpp:35