28template <
typename Model, 
typename TupleOfArgs>
 
   35    else if constexpr (std::is_default_constructible_v<Model>)
 
   41        static_assert(std::is_default_constructible_v<
 
   43                      "The model to be constructed has neither a static " 
   44                      "create() function nor is it default constructible.");
 
 
   47template <
template <
typename...> 
typename Tuple,
 
   68template <
typename TupleOfModels, 
typename... Args>
 
   72        std::type_identity<TupleOfModels>{},
 
   73        std::forward_as_tuple(std::forward<Args>(args)...));
 
 
Tuple< Models... > constructModels(std::type_identity< Tuple< Models... > >, TupleOfArgs &&args)
 
auto applyImpl(Function &&f, Args &&... args) -> typename detail::GetFunctionReturnType< std::decay_t< Function > >::type
 
Model constructModel(TupleOfArgs &args)
 
TupleOfModels constructModels(Args &&... args)