14 #include <type_traits>
28 template <
typename... extensions_t>
32 "all extensions must be default constructible");
34 "all extensions must be copy constructible");
36 "all extensions must be move constructible");
77 template <
typename... appendices_t>
79 appendices_t... aps)
const {
81 std::tuple_cat(
m_extensions, std::tuple<appendices_t...>(aps...));
88 template <
typename extension_t>
89 const extension_t&
get()
const {
96 template <
typename extension_t>