cxx_inline_namespaces.cpp 276 B

12345678910111213141516171819202122232425
  1. namespace Lib {
  2. inline namespace Lib_1 {
  3. template <typename T>
  4. class A;
  5. }
  6. template <typename T>
  7. void g(T);
  8. }
  9. struct MyClass
  10. {
  11. };
  12. namespace Lib {
  13. template <>
  14. class A<MyClass>
  15. {
  16. };
  17. }
  18. void someFunc()
  19. {
  20. Lib::A<MyClass> a;
  21. g(a); // ok, Lib is an associated namespace of A
  22. }