10#ifndef BEAST_CONTAINER_DETAIL_EMPTY_BASE_OPTIMIZATION_H_INCLUDED
11#define BEAST_CONTAINER_DETAIL_EMPTY_BASE_OPTIMIZATION_H_INCLUDED
13#include <boost/type_traits/is_final.hpp>
25 std::is_empty<T>::value && !boost::is_final<T>::value>
44 template <
class Arg1,
class... ArgN>
46 : T(
std::forward<Arg1>(arg1),
std::forward<ArgN>(argn)...)
65template <
class T,
int UniqueID>
79 template <
class Arg1,
class... ArgN>
81 : 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