compilation_database_dir: _build
output_directory: docs/diagrams
generate_links:
  link: 'https://github.com/skypjack/entt/blob/{{ git.commit }}/{{ element.source.path }}#L{{ element.source.line }}'
  tooltip: '{% if "comment" in element %}{{ abbrv(trim(replace(element.comment, "\n+", " ")), 256) }}{% else %}{{ element.name }}{% endif %}'
include_relations_also_as_members: false
generate_method_arguments: none
generate_packages: true
diagrams:
  container_class_diagram:
    type: class
    glob:
      - src/entt/container/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT container class diagram model'
  core_class_diagram:
    type: class
    glob:
      - src/entt/core/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT core class diagram model'
  entity_class_diagram:
    type: class
    glob:
      - src/entt/entity/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT core class diagram model'
  locator_class_diagram:
    type: class
    glob:
      - src/entt/locator/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT locator class diagram model'
  meta_class_diagram:
    type: class
    glob:
      - src/entt/meta/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT meta class diagram model'
  platform_class_diagram:
    type: class
    glob:
      - src/entt/platform/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT platform class diagram model'
  poly_class_diagram:
    type: class
    glob:
      - src/entt/poly/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT poly class diagram model'
  process_class_diagram:
    type: class
    glob:
      - src/entt/process/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT process class diagram model'
  resource_class_diagram:
    type: class
    glob:
      - src/entt/resources/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT resource class diagram model'
  signal_class_diagram:
    type: class
    glob:
      - src/entt/signal/*.hpp
    using_namespace: entt
    include:
      namespaces:
        - entt
    exclude:
      namespaces:
        - entt::internal
    plantuml:
      before:
        - 'title EnTT signal class diagram model'
  include_diagram:
    type: include
    glob:
      - src/entt/**/*.hpp
    relative_to: src
    include:
      paths:
        - src/entt
    exclude:
      paths:
        - src/entt/core/fwd.hpp
        - src/entt/config/config.h
    plantuml:
      before:
        - 'title EnTT include graph diagram'
  package_diagram:
    type: package
    glob:
      - src/entt/**/*.hpp
    include:
      namespaces:
        - entt
    plantuml:
      before:
        - 'title EnTT namespace package diagram'
