better is_final on empty_base_optimization

This commit is contained in:
Vinnie Falco
2017-07-12 16:57:47 -07:00
parent b18d0d15b0
commit 78f3cd59a1
2 changed files with 5 additions and 6 deletions

View File

@ -1,6 +1,7 @@
Version 81:
* Pass string_view by value
* better is_final on empty_base_optimization
--------------------------------------------------------------------------------

View File

@ -8,6 +8,7 @@
#ifndef BEAST_DETAIL_EMPTY_BASE_OPTIMIZATION_HPP
#define BEAST_DETAIL_EMPTY_BASE_OPTIMIZATION_HPP
#include <boost/type_traits/is_final.hpp>
#include <type_traits>
#include <utility>
@ -16,12 +17,9 @@ namespace detail {
template<class T>
struct empty_base_optimization_decide
: std::integral_constant <bool,
std::is_empty <T>::value
#ifdef __clang__
&& !__is_final(T)
#endif
>
: std::integral_constant<bool,
std::is_empty<T>::value &&
! boost::is_final<T>::value>
{
};