# t30003 - Package deprecated attribute test case
## Config
```yaml
compilation_database_dir: ..
output_directory: puml
diagrams:
  t30003_package:
    type: package
    glob:
      - ../../tests/t30003/t30003.cc
    include:
      namespaces:
        - clanguml::t30003
    using_namespace:
      - clanguml::t30003
    plantuml:
      before:
        - "' t30003 test package diagram"
```
## Source code
File t30003.cc
```cpp
namespace clanguml {
namespace t30003 {

namespace ns1 {
namespace ns2_v1_0_0 {
class A { };
} // namespace ns2_v1_0_0

namespace [[deprecated]] ns2_v0_9_0 {
class A { };
} // namespace ns2_v0_9_0

namespace {
class Anon final { };
} // namespace
} // namespace ns1

namespace [[deprecated]] ns3 {

namespace ns1::ns2 {
class Anon : public t30003::ns1::ns2_v1_0_0::A { };
} // namespace ns1::ns2

class B : public ns1::ns2::Anon { };
} // namespace ns3
} // namespace t30003
} // namespace clanguml
```
## Generated UML diagrams
![t30003_package](./t30003_package.svg "Package deprecated attribute test case")
## Generated JSON models
```json
{
  "diagram_type": "package",
  "elements": [
    {
      "display_name": "clanguml::t30003::ns1",
      "elements": [
        {
          "display_name": "clanguml::t30003::ns1::ns2_v1_0_0",
          "id": "647755950450743637",
          "is_deprecated": false,
          "name": "ns2_v1_0_0",
          "source_location": {
            "file": "../../tests/t30003/t30003.cc",
            "line": 5
          },
          "type": "namespace"
        },
        {
          "display_name": "clanguml::t30003::ns1::ns2_v0_9_0",
          "id": "1013406647495422406",
          "is_deprecated": true,
          "name": "ns2_v0_9_0",
          "source_location": {
            "file": "../../tests/t30003/t30003.cc",
            "line": 9
          },
          "type": "namespace"
        }
      ],
      "id": "600452871069546589",
      "is_deprecated": false,
      "name": "ns1",
      "source_location": {
        "file": "../../tests/t30003/t30003.cc",
        "line": 4
      },
      "type": "namespace"
    },
    {
      "display_name": "clanguml::t30003::ns3",
      "elements": [
        {
          "display_name": "clanguml::t30003::ns3::ns1",
          "elements": [
            {
              "display_name": "clanguml::t30003::ns3::ns1::ns2",
              "id": "820462660523726751",
              "is_deprecated": false,
              "name": "ns2",
              "source_location": {
                "file": "../../tests/t30003/t30003.cc",
                "line": 20
              },
              "type": "namespace"
            }
          ],
          "id": "1209144861141334061",
          "is_deprecated": false,
          "name": "ns1",
          "source_location": {
            "file": "../../tests/t30003/t30003.cc",
            "line": 20
          },
          "type": "namespace"
        }
      ],
      "id": "427104404739526818",
      "is_deprecated": true,
      "name": "ns3",
      "source_location": {
        "file": "../../tests/t30003/t30003.cc",
        "line": 18
      },
      "type": "namespace"
    }
  ],
  "metadata": {
    "clang_uml_version": "0.3.5-27-g81c7ce7",
    "llvm_version": "Ubuntu clang version 15.0.6",
    "schema_version": 1
  },
  "name": "t30003_package",
  "relationships": [
    {
      "destination": "820462660523726751",
      "source": "427104404739526818",
      "type": "dependency"
    },
    {
      "destination": "647755950450743637",
      "source": "820462660523726751",
      "type": "dependency"
    }
  ],
  "using_namespace": "clanguml::t30003"
}
```
