namespace boost { namespace math { template < class T > class octonion { private : typedef T parameter; }; }} #ifdef BUG template class ::boost::math::octonion; #else template class boost::math::octonion; #endif