<p>Is it possible to <code>typedef</code> long types that use templates?  For example:</p>

<pre><code>template &lt;typename myfloat_t&gt;
class LongClassName
{
    // ...
};

template &lt;typename myfloat_t&gt;
typedef std::vector&lt; boost::shared_ptr&lt; LongClassName&lt;myfloat_t&gt; &gt; &gt; LongCollection;

LongCollection&lt;float&gt; m_foo;
</code></pre>

<p>This doesn't work, but is there a way to achieve a similar effect?  I just want to avoid having to type and read a type definition that covers almost the full width of my editor window. </p>

No, that isn't possible currently. It will be made possible in C++0X AFAIK.
The best I can think of is
```
```
template<typename T> struct LongCollection {
    typedef std::vector< boost::shared_ptr< LongClassName<T> > > type;
};

LongCollection<float>::type m_foo;
```
```