make_pair like trick for noncopyable classes
===

make_pair can create pairs without mentioning the types.  I want to use the same trick for my class, but it inherits from boost::noncopyable, so this does not compile:

    template<class Iter>
    struct bit_writer : boost:noncopyable
    {
        Iter iter;
        bit_writer(iter)
        : iter(iter)
        {}
    };

    template<class Iter>
    bit_writer make_bit_writer(Iter iter)
    {
        return bit_writer(iter);
    }
    vector<char> vec;
    auto w = make_bit_writer(iter);
    
Any alternative?  I tried making make_bit_writer a friend, and then run out of ideas.