|
@@ -26,7 +26,7 @@ namespace std { namespace experimental {} }
|
|
template <class T>
|
|
template <class T>
|
|
struct IsSmallObject
|
|
struct IsSmallObject
|
|
: public std::integral_constant<bool
|
|
: public std::integral_constant<bool
|
|
- , sizeof(T) <= (sizeof(void*)*3)
|
|
|
|
|
|
+ , sizeof(T) <= sizeof(std::any) - sizeof(void*)
|
|
&& std::alignment_of<void*>::value
|
|
&& std::alignment_of<void*>::value
|
|
% std::alignment_of<T>::value == 0
|
|
% std::alignment_of<T>::value == 0
|
|
&& std::is_nothrow_move_constructible<T>::value
|
|
&& std::is_nothrow_move_constructible<T>::value
|