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>
24 std::is_empty<T>::value && !boost::is_final<T>::value>
43 template <
class Arg1,
class... ArgN>
45 : T(
std::forward<Arg1>(arg1),
std::forward<ArgN>(argn)...)
64template <
class T,
int UniqueID>
78 template <
class Arg1,
class... ArgN>
80 : 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