类命名空间内的模板特化

MAG*_*MAG 0 c++ information-hiding namespaces template-specialization

如何专门化我的类体中某些外部命名空间中定义的模板?

使用不编译的BGL的具体示例:

class A
{
  namespace boost
  {
    template <class ValueType>
    struct container_gen<SomeSelectorS, ValueType>
    {
      typedef std::multiset<ValueType,MyClass<ValueType> > type;
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

如果将container_gen的特化从A类移出,一切都很好.具体问题是我不知道如何从A类引用"boost"命名空间.

Dav*_*eas 5

您无法在类中创建命名空间,也无法在类中的命名空间范围内专门化模板.