# Hierarchy For Package org.gradle.language.cpp

Package Hierarchies:

- All Packages

## Interface Hierarchy

- org.gradle.api.Buildable
  - org.gradle.api.BuildableComponentSpec (also extends org.gradle.platform.base.ComponentSpec)
    - org.gradle.language.base.LanguageSourceSet
      - org.gradle.language.cpp.CppSourceSet (also extends org.gradle.language.nativeplatform.DependentSourceSet, org.gradle.language.nativeplatform.HeaderExportingSourceSet)
      - org.gradle.language.nativeplatform.DependentSourceSet
        - org.gradle.language.cpp.CppSourceSet (also extends org.gradle.language.nativeplatform.HeaderExportingSourceSet, org.gradle.language.base.LanguageSourceSet)
      - org.gradle.language.nativeplatform.HeaderExportingSourceSet
        - org.gradle.language.cpp.CppSourceSet (also extends org.gradle.language.nativeplatform.DependentSourceSet, org.gradle.language.base.LanguageSourceSet)
- org.gradle.language.ComponentWithTargetMachines
  - org.gradle.language.cpp.CppComponent (also extends org.gradle.language.ComponentWithBinaries, org.gradle.language.ComponentWithDependencies)
    - org.gradle.language.cpp.ProductionCppComponent (also extends org.gradle.language.ProductionComponent)
      - org.gradle.language.cpp.CppApplication
      - org.gradle.language.cpp.CppLibrary
- org.gradle.language.cpp.CppPlatform
- org.gradle.api.Named
  - org.gradle.model.ModelElement
    - org.gradle.platform.base.ComponentSpec
      - org.gradle.api.BuildableComponentSpec (also extends org.gradle.api.Buildable)
        - org.gradle.language.base.LanguageSourceSet
          - org.gradle.language.cpp.CppSourceSet (also extends org.gradle.language.nativeplatform.DependentSourceSet, org.gradle.language.nativeplatform.HeaderExportingSourceSet)
          - org.gradle.language.nativeplatform.DependentSourceSet
            - org.gradle.language.cpp.CppSourceSet (also extends org.gradle.language.nativeplatform.HeaderExportingSourceSet, org.gradle.language.base.LanguageSourceSet)
          - org.gradle.language.nativeplatform.HeaderExportingSourceSet
            - org.gradle.language.cpp.CppSourceSet (also extends org.gradle.language.nativeplatform.DependentSourceSet, org.gradle.language.base.LanguageSourceSet)
  - org.gradle.api.component.SoftwareComponent
    - org.gradle.api.component.BuildableComponent
      - org.gradle.language.cpp.CppBinary (also extends org.gradle.language.ComponentWithDependencies, org.gradle.language.nativeplatform.ComponentWithObjectFiles)
        - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithExecutable, org.gradle.language.nativeplatform.ComponentWithInstallation, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.api.component.PublishableComponent)
        - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithSharedLibrary, org.gradle.api.component.PublishableComponent)
        - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithStaticLibrary, org.gradle.api.component.PublishableComponent)
    - org.gradle.language.ComponentWithBinaries
      - org.gradle.language.cpp.CppComponent (also extends org.gradle.language.ComponentWithDependencies, org.gradle.language.ComponentWithTargetMachines)
        - org.gradle.language.cpp.ProductionCppComponent (also extends org.gradle.language.ProductionComponent)
          - org.gradle.language.cpp.CppApplication
          - org.gradle.language.cpp.CppLibrary
    - org.gradle.api.component.ComponentWithCoordinates
      - org.gradle.api.component.PublishableComponent (also extends org.gradle.api.component.SoftwareComponent)
        - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithExecutable, org.gradle.language.nativeplatform.ComponentWithInstallation, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.cpp.CppBinary)
        - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithSharedLibrary, org.gradle.language.cpp.CppBinary)
        - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithStaticLibrary, org.gradle.language.cpp.CppBinary)
    - org.gradle.language.ComponentWithDependencies
      - org.gradle.language.cpp.CppBinary (also extends org.gradle.api.component.BuildableComponent, org.gradle.language.nativeplatform.ComponentWithObjectFiles)
        - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithExecutable, org.gradle.language.nativeplatform.ComponentWithInstallation, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.api.component.PublishableComponent)
        - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithSharedLibrary, org.gradle.api.component.PublishableComponent)
        - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithStaticLibrary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.cpp.CppComponent (also extends org.gradle.language.ComponentWithBinaries, org.gradle.language.ComponentWithTargetMachines)
        - org.gradle.language.cpp.ProductionCppComponent (also extends org.gradle.language.ProductionComponent)
          - org.gradle.language.cpp.CppApplication
          - org.gradle.language.cpp.CppLibrary
    - org.gradle.language.nativeplatform.ComponentWithNativeRuntime
      - org.gradle.language.nativeplatform.ComponentWithExecutable
        - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithInstallation, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.nativeplatform.ComponentWithInstallation
        - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithExecutable, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.nativeplatform.ComponentWithLinkFile
        - org.gradle.language.nativeplatform.ComponentWithSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithRuntimeFile)
          - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
        - org.gradle.language.nativeplatform.ComponentWithStaticLibrary
          - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.nativeplatform.ComponentWithLinkUsage
        - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithSharedLibrary, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
        - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithStaticLibrary, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.nativeplatform.ComponentWithObjectFiles
        - org.gradle.language.cpp.CppBinary (also extends org.gradle.api.component.BuildableComponent, org.gradle.language.ComponentWithDependencies)
          - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithExecutable, org.gradle.language.nativeplatform.ComponentWithInstallation, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.api.component.PublishableComponent)
          - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithSharedLibrary, org.gradle.api.component.PublishableComponent)
          - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithStaticLibrary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.nativeplatform.ComponentWithRuntimeFile
        - org.gradle.language.nativeplatform.ComponentWithSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkFile)
          - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.nativeplatform.ComponentWithRuntimeUsage
        - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithExecutable, org.gradle.language.nativeplatform.ComponentWithInstallation, org.gradle.language.ComponentWithOutputs, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
        - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithSharedLibrary, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
        - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithStaticLibrary, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
    - org.gradle.language.ComponentWithOutputs
      - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithExecutable, org.gradle.language.nativeplatform.ComponentWithInstallation, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithSharedLibrary, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
      - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithStaticLibrary, org.gradle.language.cpp.CppBinary, org.gradle.api.component.PublishableComponent)
    - org.gradle.language.ProductionComponent
      - org.gradle.language.cpp.ProductionCppComponent (also extends org.gradle.language.cpp.CppComponent)
        - org.gradle.language.cpp.CppApplication
        - org.gradle.language.cpp.CppLibrary
    - org.gradle.api.component.PublishableComponent (also extends org.gradle.api.component.ComponentWithCoordinates)
      - org.gradle.language.cpp.CppExecutable (also extends org.gradle.language.nativeplatform.ComponentWithExecutable, org.gradle.language.nativeplatform.ComponentWithInstallation, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.cpp.CppBinary)
      - org.gradle.language.cpp.CppSharedLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithSharedLibrary, org.gradle.language.cpp.CppBinary)
      - org.gradle.language.cpp.CppStaticLibrary (also extends org.gradle.language.nativeplatform.ComponentWithLinkUsage, org.gradle.language.ComponentWithOutputs, org.gradle.language.nativeplatform.ComponentWithRuntimeUsage, org.gradle.language.nativeplatform.ComponentWithStaticLibrary, org.gradle.language.cpp.CppBinary)