4#ifndef _Stroika_Foundation_Common_TypeHints_h_
5#define _Stroika_Foundation_Common_TypeHints_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
11#include "Stroika/Foundation/Common/Common.h"
34 template <
typename T,
typename CHECK_T = remove_cvref_t<T>>
35 requires (not same_as<T, void>)
36 using ArgByValueType = conditional_t<(
sizeof (CHECK_T) <= 2 *
sizeof (
void*)) and is_trivially_copyable_v<CHECK_T>, CHECK_T,
const CHECK_T&>;
conditional_t<(sizeof(CHECK_T)<=2 *sizeof(void *)) and is_trivially_copyable_v< CHECK_T >, CHECK_T, const CHECK_T & > ArgByValueType
This is an alias for 'T' - but how we want to pass it on stack as formal parameter.