.. Extra Clang Tools documentation master file, created by
   sphinx-quickstart on Wed Feb 13 10:00:18 2013.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

.. title:: Welcome to Extra Clang Tools's documentation!

Introduction
============
Welcome to clang-tools-exta project which contains extra tools built using Clang's tooling API's


Contents
========
.. toctree::
   :maxdepth: 1

   cpp11-migrate


Doxygen Documentation
=====================
The Doxygen documentation describes the **internal** software that makes up the
tools of clang-tools-extra, not the **external** use of these tools. The
Doxygen documentation contains no instructions about how to use the tools,
only the APIs that make up the software. For usage instructions, please see
the user's guide or reference manual for each tool.

* `Doxygen documentation`_

.. _`Doxygen documentation`: doxygen/index.html

..  note::
    This documentation is generated directly from the source code with doxygen.
    Since the tools of clang-tools-extra are constantly under active development,
    what you're about to read is out of date!


Indices and tables
==================

* :ref:`genindex`
* :ref:`search`

