>>793
HogeHogeがこうだとすると、
template <typename T>
class HogeHoge
{
    /* 〜 */
};
HogeHogeの前方宣言はこうなる。
template <typename T>
class HogeHoge;

そしてクラステンプレートをテンプレート引数の指定なしにtypedefすることはできない。
typedef HogeHoge<int> HHInt;のようなことはできるけど、
typedef HogeHoge Hoge;は今のC++ではできない。