warnless: simplify type size handling by using sizeof(T) #7181
Simplify type size handling by using sizeof(T) and rely on the compiler to define the required signed/unsigned masks.
The idea is to get rid of SIZEOF_XXX defines, which are not needed for this implementation, and a manually created masks which can be generated by the compiler at compile time. In this case type masks are created by the compiler and can never be erroneous for any type.
Such run-time checks
I am using this implementation for many years already without any issue (Linux, Android, Apple iOS, Windows Win32, Windows UWP).