forked from OctaForge/libostd
add another condition on Function in-place optimization
This commit is contained in:
parent
e92f5bba4b
commit
89bab3362b
|
@ -200,7 +200,8 @@ namespace octa {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct FunctorInPlace {
|
struct FunctorInPlace {
|
||||||
static constexpr bool value = sizeof(T) <= sizeof(FunctorData)
|
static constexpr bool value = sizeof(T) <= sizeof(FunctorData)
|
||||||
&& (alignof(FunctorData) % alignof(T)) == 0;
|
&& (alignof(FunctorData) % alignof(T)) == 0
|
||||||
|
&& octa::IsNothrowMoveConstructible<T>::value;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T, typename E = void>
|
template<typename T, typename E = void>
|
||||||
|
|
Loading…
Reference in a new issue