Безопасно (и правильно) в заголовочном файле С++ использовать декларацию использования в пространстве имен следующим образом:
#include <boost/numeric/ublas/vector.hpp>
namespace MyNamespace {
using boost::numeric::ublas::vector;
vector MyFunc(vector in);
}
т.е. это "использование boost:: numeric:: ublas:: vector", содержащееся в блоке MyNamespace, или это загрязняет пространство имен любого файла, который включает этот заголовок?