#include "glArrays.h" #include <type_traits> // Base static_assert(!std::is_default_constructible_v<glArraysBase<1>>); static_assert(!std::is_copy_constructible_v<glArraysBase<1>>); static_assert(!std::is_copy_assignable_v<glArraysBase<1>>); static_assert(std::is_nothrow_move_constructible_v<glArraysBase<1>>); static_assert(std::is_nothrow_move_assignable_v<glArraysBase<1>>); // Specialisations (glBuffer is an example of the typedef) static_assert(std::is_nothrow_default_constructible_v<glBuffer>); static_assert(!std::is_trivially_default_constructible_v<glBuffer>); static_assert(std::is_nothrow_destructible_v<glBuffer>); static_assert(!std::is_trivially_destructible_v<glBuffer>); static_assert(std::is_default_constructible_v<glBuffer>); static_assert(!std::is_copy_constructible_v<glBuffer>); static_assert(!std::is_copy_assignable_v<glBuffer>); static_assert(std::is_nothrow_move_constructible_v<glBuffer>); static_assert(std::is_nothrow_move_assignable_v<glBuffer>); static_assert(sizeof(glBuffer) == sizeof(GLuint));