Skip to content

Commit

Permalink
Fix and enhance Struct helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
charlesseizilles authored and DragonJoker committed Apr 26, 2023
1 parent ab06f63 commit db8a2ef
Showing 1 changed file with 101 additions and 21 deletions.
122 changes: 101 additions & 21 deletions include/ShaderWriter/CompositeTypes/StructHelper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,12 @@ namespace sdw
template< StringLiteralT FieldNameT > using HalfField = StructFieldT< Half, FieldNameT >;
template< StringLiteralT FieldNameT > using FloatField = StructFieldT< Float, FieldNameT >;
template< StringLiteralT FieldNameT > using DoubleField = StructFieldT< Double, FieldNameT >;
template< StringLiteralT FieldNameT > using IntField = StructFieldT< Int, FieldNameT >;
template< StringLiteralT FieldNameT > using Int8Field = StructFieldT< Int8, FieldNameT >;
template< StringLiteralT FieldNameT > using Int16Field = StructFieldT< Int16, FieldNameT >;
template< StringLiteralT FieldNameT > using Int32Field = StructFieldT< Int32, FieldNameT >;
template< StringLiteralT FieldNameT > using Int64Field = StructFieldT< Int64, FieldNameT >;
template< StringLiteralT FieldNameT > using UIntField = StructFieldT< UInt, FieldNameT >;
template< StringLiteralT FieldNameT > using UInt8Field = StructFieldT< UInt8, FieldNameT >;
template< StringLiteralT FieldNameT > using UInt16Field = StructFieldT< UInt16, FieldNameT >;
template< StringLiteralT FieldNameT > using UInt32Field = StructFieldT< UInt32, FieldNameT >;
Expand All @@ -146,18 +148,24 @@ namespace sdw
template< StringLiteralT FieldNameT > using DVec4Field = StructFieldT< DVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using HVec2Field = StructFieldT< HVec2, FieldNameT >;
template< StringLiteralT FieldNameT > using HVec4Field = StructFieldT< HVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using IVec2Field = StructFieldT< IVec2, FieldNameT >;
template< StringLiteralT FieldNameT > using IVec3Field = StructFieldT< IVec3, FieldNameT >;
template< StringLiteralT FieldNameT > using IVec4Field = StructFieldT< IVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I8Vec2Field = StructFieldT< I8Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I8Vec3Field = StructFieldT< I8Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I8Vec4Field = StructFieldT< I8Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I316ec2Field = StructFieldT< I16Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I316ec3Field = StructFieldT< I16Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I316ec4Field = StructFieldT< I16Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I16Vec2Field = StructFieldT< I16Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I16Vec3Field = StructFieldT< I16Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I16Vec4Field = StructFieldT< I16Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I32Vec2Field = StructFieldT< I32Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I32Vec3Field = StructFieldT< I32Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I32Vec4Field = StructFieldT< I32Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I64Vec2Field = StructFieldT< I64Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I64Vec3Field = StructFieldT< I64Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I64Vec4Field = StructFieldT< I64Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using UVec2Field = StructFieldT< UVec2, FieldNameT >;
template< StringLiteralT FieldNameT > using UVec3Field = StructFieldT< UVec3, FieldNameT >;
template< StringLiteralT FieldNameT > using UVec4Field = StructFieldT< UVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using U8Vec2Field = StructFieldT< U8Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using U8Vec3Field = StructFieldT< U8Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using U8Vec4Field = StructFieldT< U8Vec4, FieldNameT >;
Expand Down Expand Up @@ -198,23 +206,16 @@ namespace sdw
template< StringLiteralT FieldNameT > using DMat4x3Field = StructFieldT< DMat4x3, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat4x4Field = StructFieldT< DMat4x4, FieldNameT >;

template< StringLiteralT FieldNameT > using IntField = Int32Field< FieldNameT > ;
template< StringLiteralT FieldNameT > using UIntField = UInt32Field< FieldNameT > ;
template< StringLiteralT FieldNameT > using IVec2Field = I32Vec2Field< FieldNameT > ;
template< StringLiteralT FieldNameT > using IVec3Field = I32Vec3Field< FieldNameT > ;
template< StringLiteralT FieldNameT > using IVec4Field = I32Vec4Field< FieldNameT > ;
template< StringLiteralT FieldNameT > using UVec2Field = U32Vec2Field< FieldNameT > ;
template< StringLiteralT FieldNameT > using UVec3Field = U32Vec3Field< FieldNameT > ;
template< StringLiteralT FieldNameT > using UVec4Field = U32Vec4Field< FieldNameT >;

template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using BooleanArrayField = StructFieldArrayT< Boolean, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using HalfArrayField = StructFieldArrayT< Half, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using FloatArrayField = StructFieldArrayT< Float, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using DoubleArrayField = StructFieldArrayT< Double, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using IntArrayField = StructFieldArrayT< Int, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using Int8ArrayField = StructFieldArrayT< Int8, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using Int16ArrayField = StructFieldArrayT< Int16, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using Int32ArrayField = StructFieldArrayT< Int32, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using Int64ArrayField = StructFieldArrayT< Int64, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UIntArrayField = StructFieldArrayT< UInt, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UInt8ArrayField = StructFieldArrayT< UInt8, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UInt16ArrayField = StructFieldArrayT< UInt16, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UInt32ArrayField = StructFieldArrayT< UInt32, FieldNameT, ArraySizeT >;
Expand All @@ -227,6 +228,9 @@ namespace sdw
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using DVec4ArrayField = StructFieldArrayT< DVec4, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using HVec2ArrayField = StructFieldArrayT< HVec2, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using HVec4ArrayField = StructFieldArrayT< HVec4, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using IVec2ArrayField = StructFieldArrayT< IVec2, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using IVec3ArrayField = StructFieldArrayT< IVec3, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using IVec4ArrayField = StructFieldArrayT< IVec4, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using I8Vec2ArrayField = StructFieldArrayT< I8Vec2, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using I8Vec3ArrayField = StructFieldArrayT< I8Vec3, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using I8Vec4ArrayField = StructFieldArrayT< I8Vec4, FieldNameT, ArraySizeT >;
Expand All @@ -239,6 +243,9 @@ namespace sdw
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using I64Vec2ArrayField = StructFieldArrayT< I64Vec2, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using I64Vec3ArrayField = StructFieldArrayT< I64Vec3, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using I64Vec4ArrayField = StructFieldArrayT< I64Vec4, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UVec2ArrayField = StructFieldArrayT< UVec2, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UVec3ArrayField = StructFieldArrayT< UVec3, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UVec4ArrayField = StructFieldArrayT< UVec4, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using U8Vec2ArrayField = StructFieldArrayT< U8Vec2, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using U8Vec3ArrayField = StructFieldArrayT< U8Vec3, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using U8Vec4ArrayField = StructFieldArrayT< U8Vec4, FieldNameT, ArraySizeT >;
Expand Down Expand Up @@ -278,15 +285,88 @@ namespace sdw
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using DMat4x2ArrayField = StructFieldArrayT< DMat4x2, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using DMat4x3ArrayField = StructFieldArrayT< DMat4x3, FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using DMat4x4ArrayField = StructFieldArrayT< DMat4x4, FieldNameT, ArraySizeT >;

template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using IntArrayField = Int32ArrayField< FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UIntArrayField = UInt32ArrayField< FieldNameT, ArraySizeT >;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using IVec2ArrayField = I32Vec2ArrayField< FieldNameT, ArraySizeT > ;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using IVec3ArrayField = I32Vec3ArrayField< FieldNameT, ArraySizeT > ;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using IVec4ArrayField = I32Vec4ArrayField< FieldNameT, ArraySizeT > ;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UVec2ArrayField = U32Vec2ArrayField< FieldNameT, ArraySizeT > ;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UVec3ArrayField = U32Vec3ArrayField< FieldNameT, ArraySizeT > ;
template< StringLiteralT FieldNameT, uint32_t ArraySizeT > using UVec4ArrayField = U32Vec4ArrayField< FieldNameT, ArraySizeT >;

template< typename FieldTypeT, StringLiteralT FieldNameT > using UnsizedArrayFieldT = StructFieldArrayT< FieldTypeT, FieldNameT, sdw::type::UnknownArraySize >;

template< StringLiteralT FieldNameT > using BooleanUnsizedArrayField = UnsizedArrayFieldT< Boolean, FieldNameT >;
template< StringLiteralT FieldNameT > using HalfUnsizedArrayField = UnsizedArrayFieldT< Half, FieldNameT >;
template< StringLiteralT FieldNameT > using FloatUnsizedArrayField = UnsizedArrayFieldT< Float, FieldNameT >;
template< StringLiteralT FieldNameT > using DoubleUnsizedArrayField = UnsizedArrayFieldT< Double, FieldNameT >;
template< StringLiteralT FieldNameT > using IntUnsizedArrayField = UnsizedArrayFieldT< Int, FieldNameT >;
template< StringLiteralT FieldNameT > using Int8UnsizedArrayField = UnsizedArrayFieldT< Int8, FieldNameT >;
template< StringLiteralT FieldNameT > using Int16UnsizedArrayField = UnsizedArrayFieldT< Int16, FieldNameT >;
template< StringLiteralT FieldNameT > using Int32UnsizedArrayField = UnsizedArrayFieldT< Int32, FieldNameT >;
template< StringLiteralT FieldNameT > using Int64UnsizedArrayField = UnsizedArrayFieldT< Int64, FieldNameT >;
template< StringLiteralT FieldNameT > using UIntUnsizedArrayField = UnsizedArrayFieldT< UInt, FieldNameT >;
template< StringLiteralT FieldNameT > using UInt8UnsizedArrayField = UnsizedArrayFieldT< UInt8, FieldNameT >;
template< StringLiteralT FieldNameT > using UInt16UnsizedArrayField = UnsizedArrayFieldT< UInt16, FieldNameT >;
template< StringLiteralT FieldNameT > using UInt32UnsizedArrayField = UnsizedArrayFieldT< UInt32, FieldNameT >;
template< StringLiteralT FieldNameT > using UInt64UnsizedArrayField = UnsizedArrayFieldT< UInt64, FieldNameT >;
template< StringLiteralT FieldNameT > using Vec2UnsizedArrayField = UnsizedArrayFieldT< Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using Vec3UnsizedArrayField = UnsizedArrayFieldT< Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using Vec4UnsizedArrayField = UnsizedArrayFieldT< Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using DVec2UnsizedArrayField = UnsizedArrayFieldT< DVec2, FieldNameT >;
template< StringLiteralT FieldNameT > using DVec3UnsizedArrayField = UnsizedArrayFieldT< DVec3, FieldNameT >;
template< StringLiteralT FieldNameT > using DVec4UnsizedArrayField = UnsizedArrayFieldT< DVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using HVec2UnsizedArrayField = UnsizedArrayFieldT< HVec2, FieldNameT >;
template< StringLiteralT FieldNameT > using HVec4UnsizedArrayField = UnsizedArrayFieldT< HVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using IVec2UnsizedArrayField = UnsizedArrayFieldT< IVec2, FieldNameT >;
template< StringLiteralT FieldNameT > using IVec3UnsizedArrayField = UnsizedArrayFieldT< IVec3, FieldNameT >;
template< StringLiteralT FieldNameT > using IVec4UnsizedArrayField = UnsizedArrayFieldT< IVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I8Vec2UnsizedArrayField = UnsizedArrayFieldT< I8Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I8Vec3UnsizedArrayField = UnsizedArrayFieldT< I8Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I8Vec4UnsizedArrayField = UnsizedArrayFieldT< I8Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I16Vec2UnsizedArrayField = UnsizedArrayFieldT< I16Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I16Vec3UnsizedArrayField = UnsizedArrayFieldT< I16Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I16Vec4UnsizedArrayField = UnsizedArrayFieldT< I16Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I32Vec2UnsizedArrayField = UnsizedArrayFieldT< I32Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I32Vec3UnsizedArrayField = UnsizedArrayFieldT< I32Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I32Vec4UnsizedArrayField = UnsizedArrayFieldT< I32Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using I64Vec2UnsizedArrayField = UnsizedArrayFieldT< I64Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using I64Vec3UnsizedArrayField = UnsizedArrayFieldT< I64Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using I64Vec4UnsizedArrayField = UnsizedArrayFieldT< I64Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using UVec2UnsizedArrayField = UnsizedArrayFieldT< UVec2, FieldNameT >;
template< StringLiteralT FieldNameT > using UVec3UnsizedArrayField = UnsizedArrayFieldT< UVec3, FieldNameT >;
template< StringLiteralT FieldNameT > using UVec4UnsizedArrayField = UnsizedArrayFieldT< UVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using U8Vec2UnsizedArrayField = UnsizedArrayFieldT< U8Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using U8Vec3UnsizedArrayField = UnsizedArrayFieldT< U8Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using U8Vec4UnsizedArrayField = UnsizedArrayFieldT< U8Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using U16Vec2UnsizedArrayField = UnsizedArrayFieldT< U16Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using U16Vec3UnsizedArrayField = UnsizedArrayFieldT< U16Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using U16Vec4UnsizedArrayField = UnsizedArrayFieldT< U16Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using U32Vec2UnsizedArrayField = UnsizedArrayFieldT< U32Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using U32Vec3UnsizedArrayField = UnsizedArrayFieldT< U32Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using U32Vec4UnsizedArrayField = UnsizedArrayFieldT< U32Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using U64Vec2UnsizedArrayField = UnsizedArrayFieldT< U64Vec2, FieldNameT >;
template< StringLiteralT FieldNameT > using U64Vec3UnsizedArrayField = UnsizedArrayFieldT< U64Vec3, FieldNameT >;
template< StringLiteralT FieldNameT > using U64Vec4UnsizedArrayField = UnsizedArrayFieldT< U64Vec4, FieldNameT >;
template< StringLiteralT FieldNameT > using BVec2UnsizedArrayField = UnsizedArrayFieldT< BVec2, FieldNameT >;
template< StringLiteralT FieldNameT > using BVec3UnsizedArrayField = UnsizedArrayFieldT< BVec3, FieldNameT >;
template< StringLiteralT FieldNameT > using BVec4UnsizedArrayField = UnsizedArrayFieldT< BVec4, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat2UnsizedArrayField = UnsizedArrayFieldT< Mat2, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat2x2UnsizedArrayField = UnsizedArrayFieldT< Mat2x2, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat2x3UnsizedArrayField = UnsizedArrayFieldT< Mat2x3, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat2x4UnsizedArrayField = UnsizedArrayFieldT< Mat2x4, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat3UnsizedArrayField = UnsizedArrayFieldT< Mat3, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat3x3UnsizedArrayField = UnsizedArrayFieldT< Mat3x3, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat3x2UnsizedArrayField = UnsizedArrayFieldT< Mat3x2, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat3x4UnsizedArrayField = UnsizedArrayFieldT< Mat3x4, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat4UnsizedArrayField = UnsizedArrayFieldT< Mat4, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat4x4UnsizedArrayField = UnsizedArrayFieldT< Mat4x4, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat4x2UnsizedArrayField = UnsizedArrayFieldT< Mat4x2, FieldNameT >;
template< StringLiteralT FieldNameT > using Mat4x3UnsizedArrayField = UnsizedArrayFieldT< Mat4x3, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat2UnsizedArrayField = UnsizedArrayFieldT< DMat2, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat2x2UnsizedArrayField = UnsizedArrayFieldT< DMat2x2, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat2x3UnsizedArrayField = UnsizedArrayFieldT< DMat2x3, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat2x4UnsizedArrayField = UnsizedArrayFieldT< DMat2x4, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat3UnsizedArrayField = UnsizedArrayFieldT< DMat3, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat3x2UnsizedArrayField = UnsizedArrayFieldT< DMat3x2, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat3x3UnsizedArrayField = UnsizedArrayFieldT< DMat3x3, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat3x4UnsizedArrayField = UnsizedArrayFieldT< DMat3x4, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat4UnsizedArrayField = UnsizedArrayFieldT< DMat4, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat4x2UnsizedArrayField = UnsizedArrayFieldT< DMat4x2, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat4x3UnsizedArrayField = UnsizedArrayFieldT< DMat4x3, FieldNameT >;
template< StringLiteralT FieldNameT > using DMat4x4UnsizedArrayField = UnsizedArrayFieldT< DMat4x4, FieldNameT >;
}

#endif
Expand Down

0 comments on commit db8a2ef

Please sign in to comment.