# CcInfo

{% dynamic setvar source_file "src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/CcInfoApi.java" %} {% dynamic setvar version "8.3.0" %} {% dynamic setvar original_path "/rules/lib/providers/CcInfo" %} {% include "_buttons.html" %} A provider for compilation and linking of C++. This is also a marking provider telling C++ rules that they can depend on the rule with this provider. If it is not intended for the rule to be depended on by C++, the rule should wrap the CcInfo in some other provider.

## Members

- CcInfo
- compilation_context
- linking_context

## CcInfo

    CcInfo CcInfo(compilation_context=None, linking_context=None, debug_context=None)

The `CcInfo` constructor.

### Parameters

Parameter | Description
--- | ---
`compilation_context` | CompilationContext; or `None`; default is `None` The `CompilationContext`.
`linking_context` | LinkingContext; or `None`; default is `None` The `LinkingContext`.
`debug_context` | DebugContext; or `None`; default is `None` The `DebugContext`.

## compilation_context

    CompilationContext CcInfo.compilation_context

Returns the `CompilationContext`

## linking_context

    LinkingContext CcInfo.linking_context

Returns the `LinkingContext`