> ## Documentation Index
> Fetch the complete documentation index at: https://bazel-pr-29716.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# CcInfo

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](#CcInfo)
* [compilation\_context](#compilation_context)
* [linking\_context](#linking_context)

## CcInfo

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

The `CcInfo` constructor.

### Parameters

| Parameter             | Description                                                                                                   |
| --------------------- | ------------------------------------------------------------------------------------------------------------- |
| `compilation_context` | [CompilationContext](../builtins/CompilationContext); or `None`; default is `None`  The `CompilationContext`. |
| `linking_context`     | [struct](../builtins/struct); or `None`; default is `None`  The `LinkingContext`.                             |
| `debug_context`       | [struct](../builtins/struct); or `None`; default is `None`  The `DebugContext`.                               |

## compilation\_context

```
CompilationContext CcInfo.compilation_context
```

Returns the `CompilationContext`

## linking\_context

```
struct CcInfo.linking_context
```

Returns the `LinkingContext`
