cxx_inline_namespaces.cpp 280 B

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