| CBuildConfig | Options (e.g. verbosity, parallelism) passed to a build |
| CBuilder | Builder wraps the build process: starting commands, updating status |
| CBuildLog | Store a log of every command ran for every build |
| CBuildStatus | Tracks the status of a build: completion fraction, printing updates |
| CCleaner | |
| CCLParser | Visual Studio's cl.exe requires some massaging to work with Ninja; for example, it emits include information on stderr in a funny format when building with /showIncludes |
| CCLWrapper | Wraps a synchronous execution of a CL subprocess |
| ▼CCommandRunner | CommandRunner is an interface that wraps running the build subcommands |
| CFakeCommandRunner | Fake implementation of CommandRunner, useful for tests |
| CRealCommandRunner | |
| CDependencyScan | DependencyScan manages the process of scanning the files in a graph and updating the dirty/outputs_ready state of all the nodes and edges |
| CDepfileParser | Parser for the dependency information emitted by gcc's -M flags |
| CDepsLog::Deps | |
| CDepsLog | As build commands run they can output extra dependency information (e.g |
| ▼CDiskInterface | Interface for accessing the disk |
| CRealDiskInterface | Implementation of DiskInterface that actually hits the disk |
| CVirtualFileSystem | An implementation of DiskInterface that uses an in-memory representation of disk state |
| CEdge | An edge in the dependency graph; links between Nodes using Rules |
| ▼CEmptyTestEventListener | |
| CLaconicPrinter | A test result printer that's less wordy than gtest's default |
| CVirtualFileSystem::Entry | An entry for a single in-memory file |
| ▼CEnv | An interface for a scope for variable (e.g. "$foo") lookups |
| CBindingEnv | An Env which contains a mapping of variables to values as well as a pointer to a parent scope |
| CEdgeEnv | An Env for an Edge, providing $in and $out |
| CEvalString | A tokenized string that contains variable references |
| CExternalStringHashMap< V > | A template for hash_maps keyed by a StringPiece whose string is owned externally (typically by the values) |
| CExternalStringHashMap< LogEntry * > | |
| CExternalStringHashMap< Node * > | |
| ▼CManifestParser::FileReader | |
| CParserTest | |
| CGETOPT_LONG_OPTION_T | |
| CGraphViz | Runs the process of creating GraphViz .dot file output |
| C__gnu_cxx::hash< std::string > | |
| C__gnu_cxx::hash< StringPiece > | |
| CImplicitDepLoader | ImplicitDepLoader loads implicit dependencies, as referenced via the "depfile" attribute in build files |
| CIncludesNormalize | Utility functions for normalizing include paths on Windows |
| CLexer | |
| CLinePrinter | Prints lines of text, possibly overprinting previously printed lines if the terminal supports it |
| CLineReader | |
| CBuildLog::LogEntry | |
| CManifestParser | Parses .ninja files |
| CMetric | The Metrics module is used for the debug mode that dumps timing stats of various actions |
| CMetrics | The singleton that stores metrics and prints the report |
| CNode | Information about a node in the dependency graph: the file, whether it's dirty, mtime, etc |
| CPlan | Plan stores the state of a build plan: what we intend to build, which steps we're ready to execute |
| CPool | A pool for delayed edges |
| CBuildStatus::RateInfo | |
| CCommandRunner::Result | The result of waiting for a command |
| CRule | An invokable build command and associated metadata (description, etc.) |
| CScopedMetric | A scoped object for recording a metric across the body of a function |
| CScopedTempDir | |
| CBuildStatus::SlidingRateInfo | |
| CState | Global state (file status, loaded rules) for a single run |
| CStopwatch | A simple stopwatch which returns the time in seconds since Restart() was called |
| CStringPiece | StringPiece represents a slice of a string whose memory is managed externally |
| CSubprocess | Subprocess wraps a single async subprocess |
| CSubprocessSet | SubprocessSet runs a ppoll/pselect() loop around a set of Subprocesses |
| ▼CTest | |
| CDepfileParserTest | |
| CParserTest | |
| ▼CStateTestWithBuiltinRules | A base test fixture that includes a State object with a builtin "cat" rule |
| ▼CBuildTest | |
| CBuildWithDepsLogTest | Tests of builds involving deps logs necessarily must span multiple builds |
| ▼CBuildWithLogTest | |
| CBuildDryRun | |
| CCleanTest | |
| CGraphTest | |
| CPlanTest | Fixture for tests involving Plan |
| Chash_map | |