# t00040 - Relationship and access filter test ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t00040_class: type: class generate_packages: false glob: - ../../tests/t00040/t00040.cc using_namespace: - clanguml::t00040 include: namespaces: - clanguml::t00040 access: - public - protected exclude: relationships: - dependency elements: - clanguml::t00040::B ``` ## Source code File t00040.cc ```cpp namespace clanguml::t00040 { struct B { }; struct A { public: int get_a() { return hidden_a_; } protected: int ii_; private: void foo() { } int hidden_a_; }; class AA : public A { public: }; class AAA : public AA { public: int get_aaa() { return hidden_aaa_; } B *b; private: int hidden_aaa_; }; struct R { void foo(A *a) { } }; } // namespace clanguml::t00040 ``` ## Generated UML diagrams ![t00040_class](./t00040_class.svg "Relationship and access filter test")