7#ifndef BEAST_CONTAINER_DETAIL_EMPTY_BASE_OPTIMIZATION_H_INCLUDED
8#define BEAST_CONTAINER_DETAIL_EMPTY_BASE_OPTIMIZATION_H_INCLUDED
10#include <boost/type_traits/is_final.hpp>
22 std::is_empty<T>::value && !boost::is_final<T>::value>
41 template <
class Arg1,
class... ArgN>
43 : T(
std::forward<Arg1>(arg1),
std::forward<ArgN>(argn)...)
62template <
class T,
int UniqueID>
76 template <
class Arg1,
class... ArgN>
78 : t_(
std::forward<Arg1>(arg1),
std::forward<ArgN>(argn)...)
empty_base_optimization & operator=(empty_base_optimization const &)=default
empty_base_optimization(Arg1 &&arg1, ArgN &&... argn)
empty_base_optimization(empty_base_optimization const &)=default
empty_base_optimization & operator=(empty_base_optimization &&)=default
empty_base_optimization(empty_base_optimization &&)=default
T const & member() const noexcept
empty_base_optimization()=default
empty_base_optimization()=default
empty_base_optimization & operator=(empty_base_optimization &&)=default
T const & member() const noexcept
empty_base_optimization(empty_base_optimization &&)=default
empty_base_optimization(Arg1 &&arg1, ArgN &&... argn)
empty_base_optimization(empty_base_optimization const &)=default
empty_base_optimization & operator=(empty_base_optimization const &)=default