compilation_database_dir: build
output_directory: puml
diagrams:
  cpp_expression_class_diagram:
    type: class
    glob:
      - include/cppast/cpp_expression.hpp
    using_namespace:
      - cppast
    include:
      namespaces:
        - cppast
    exclude:
      namespaces:
        - cppast::detail
  cpp_type_class_diagram:
    type: class
    glob:
      - include/cppast/cpp_type.hpp
    using_namespace:
      - cppast
    include:
      namespaces:
        - cppast
    exclude:
      namespaces:
        - cppast::detail
      access:
        - public
        - protected
        - private
  cpp_entity_index_class_diagram:
    type: class
    glob:
      - include/cppast/cpp_entity.hpp
      - include/cppast/cpp_entity_container.hpp
      - include/cppast/cpp_entity_index.hpp
      - include/cppast/cpp_entity_kind.hpp
      - include/cppast/cpp_entity_ref.hpp
    using_namespace:
      - cppast
    include:
      namespaces:
        - cppast
    exclude:
      namespaces:
        - cppast::detail
      relationships:
        - dependency
      access:
        - public
        - protected
        - private
    plantuml:
      before:
        - left to right direction
  cpp_entity_class_hierarchy_diagram:
    type: class
    glob:
      - include/cppast/*.hpp
    using_namespace:
      - cppast
    include:
      namespaces:
        - cppast
      relationships:
        - inheritance
      subclasses:
        - cppast::cpp_entity
        - cppast::cpp_variable_base
    exclude:
      access:
        - public
        - protected
        - private
    plantuml:
      before:
        - left to right direction
  cpp_type_class_hierarchy_diagram:
    type: class
    glob:
      - include/cppast/*.hpp
    using_namespace:
      - cppast
    include:
      namespaces:
        - cppast
      relationships:
        - inheritance
      subclasses:
        - cppast::cpp_type
    exclude:
      access:
        - public
        - protected
        - private
    plantuml:
      before:
        - left to right direction
  include_graph_diagram:
    type: include
    glob:
      - include/cppast/*.hpp
      - src/*.cpp
    relative_to: .
    include:
      paths:
        - include/cppast
        - src
    exclude:
      paths:
        - src/libclang
    plantuml:
      before:
        - left to right direction