$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] Generic type inferencer function?
From: Nat Goodspeed (nat_at_[hidden])
Date: 2015-12-18 11:20:34
Our code has any number of instances of this pattern:
template <typename T, typename U>
class SomeTemplate
{
SomeTemplate(const T& t, const U& u);
...
};
template <typename T, typename U>
SomeTemplate<T, U> make_SomeTemplate(const T& t, const U& u)
{
return SomeTemplate<T, U>(t, u);
}
Am I overlooking a generic boost::make<something>() of this general form?
template <template<typename...> class CLASS_TEMPLATE, typename... ARGS>
CLASS_TEMPLATE<ARGS...> make(ARGS && ... args)
{
return CLASS_TEMPLATE<ARGS...>(std::forward<ARGS>(args)...);
}
If that doesn't already exist... would it be useful to add (a less
naive version) somewhere?