From 1dd83437e5777f699184452667e7698072fd5cb4 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 16 Nov 2022 15:26:53 +0100 Subject: entity: pass small trivial types by value --- src/entity.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/entity.hpp b/src/entity.hpp index 10df2366..8d62780b 100644 --- a/src/entity.hpp +++ b/src/entity.hpp @@ -12,8 +12,9 @@ namespace floormat {} namespace floormat::entities { -template struct pass_by_value : std::bool_constant> {}; +template struct pass_by_value : std::bool_constant> {}; template<> struct pass_by_value : std::true_type {}; +template struct pass_by_value && sizeof(T) <= sizeof(void*)>> : std::true_type {}; template constexpr inline bool pass_by_value_v = pass_by_value::value; template using const_qualified = std::conditional_t, T, const T&>; -- cgit v1.2.3