<html devsite>
<head>
  <meta name="project_path" value="/_project.yaml">
  <meta name="book_path" value="/versions/6.5.0/_book.yaml">
</head>
<body>

<h1 class="page-title" id="modules.CcStarlarkApiProvider">CcStarlarkApiProvider</h1>

<!-- {% raw %} -->

Provides access to information about C++ rules.  Every C++-related target provides this struct, accessible as a <code>cc</code> field on <a href="Target.html">target</a>.

<h2>Members</h2>
<ul>
    <li>
    <a href="#compile_flags">compile_flags</a>
  </li>
      <li>
    <a href="#defines">defines</a>
  </li>
      <li>
    <a href="#include_directories">include_directories</a>
  </li>
      <li>
    <a href="#libs">libs</a>
  </li>
      <li>
    <a href="#link_flags">link_flags</a>
  </li>
      <li>
    <a href="#quote_include_directories">quote_include_directories</a>
  </li>
      <li>
    <a href="#system_include_directories">system_include_directories</a>
  </li>
      <li>
    <a href="#transitive_headers">transitive_headers</a>
  </li>
  </ul>

      <h2 id="compile_flags">compile_flags</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CcStarlarkApiProvider.compile_flags</pre></p>

    Returns the list of flags used to compile this target (possibly empty but never <code>None</code>).


        <h2 id="defines">defines</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CcStarlarkApiProvider.defines</pre></p>

    Returns the list of defines used to compile this target (possibly empty but never <code>None</code>).


        <h2 id="include_directories">include_directories</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CcStarlarkApiProvider.include_directories</pre></p>

    Returns the list of include directories used to compile this target (possibly empty but never <code>None</code>).


        <h2 id="libs">libs</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CcStarlarkApiProvider.libs</pre></p>

    Returns the <a href="depset.html">depset</a> of libraries for either <code>FULLY STATIC</code> mode (<code>linkopts=["-static"]</code>) or <code>MOSTLY STATIC</code> mode (<code>linkstatic=True</code>) (possibly empty but never <code>None</code>)


        <h2 id="link_flags">link_flags</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CcStarlarkApiProvider.link_flags</pre></p>

    Returns the list of flags given to the C++ linker command for either <code>FULLY STATIC</code> mode (<code>linkopts=["-static"]</code>) or <code>MOSTLY STATIC</code> mode (<code>linkstatic=True</code>) (possibly empty but never <code>None</code>)


        <h2 id="quote_include_directories">quote_include_directories</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CcStarlarkApiProvider.quote_include_directories</pre></p>

    Returns the list of quote include directories used to compile this target (possibly empty but never <code>None</code>).


        <h2 id="system_include_directories">system_include_directories</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CcStarlarkApiProvider.system_include_directories</pre></p>

    Returns the list of system include directories used to compile this target (possibly empty but never <code>None</code>).


        <h2 id="transitive_headers">transitive_headers</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CcStarlarkApiProvider.transitive_headers</pre></p>

    Returns a <a href="depset.html">depset</a> of headers that have been declared in the  <code>src</code> or <code>headers</code> attribute(possibly empty but never <code>None</code>).



</body>
</html>

<!-- {% endraw %} -->
