Files
clang-uml/docs/test_cases/t00045.md
2023-03-05 11:41:16 +01:00

941 B

t00045 - Test case for root namespace handling

Config

compilation_database_dir: ..
output_directory: puml
diagrams:
  t00045_class:
    type: class
    glob:
      - ../../tests/t00045/t00045.cc
    exclude:
      namespaces:
        - std

Source code

File t00045.cc

class A { };

class AA { };

class AAA { };

template <typename T> class AAAA {
    T t;
};

namespace ns1 {

class A { };

namespace ns2 {

class A { };

class B : public A { };

class C : public ns1::A { };

class D : public ns1::ns2::A { };

class E : public ::A { };

class AAA { };

class R {
public:
    A *a;
    ns1::A *ns1_a;
    ns1::ns2::A *ns1_ns2_a;
    ::A *root_a;

    friend ::AAA;
    // TODO:
    // template<typename T> friend class ::AAAA;

    void foo(::AA &aa) { (void)aa; }
};
} // namespace ns2
} // namespace ns1

Generated UML diagrams

t00045_class