Boost logo

Boost :

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?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk