Ninja
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
oN__gnu_cxx
|\Chash< StringPiece >
oNtesting
|\CTest
oCBindingEnvAn Env which contains a mapping of variables to values as well as a pointer to a parent scope
oCBuildConfigOptions (e.g. verbosity, parallelism) passed to a build
oCBuildDryRun
oCBuilderBuilder wraps the build process: starting commands, updating status
oCBuildLogStore a log of every command ran for every build
|\CLogEntry
oCBuildLogUserCan answer questions about the manifest for the BuildLog
oCBuildStatusTracks the status of a build: completion fraction, printing updates
|oCRateInfo
|\CSlidingRateInfo
oCBuildTest
oCBuildWithDepsLogTestTests of builds involving deps logs necessarily must span multiple builds
oCBuildWithLogTest
oCCleaner
oCCleanTest
oCCLParserVisual 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
oCCLWrapperWraps a synchronous execution of a CL subprocess
oCCommandRunnerCommandRunner is an interface that wraps running the build subcommands
|\CResultThe result of waiting for a command
oCDependencyScanDependencyScan manages the process of scanning the files in a graph and updating the dirty/outputs_ready state of all the nodes and edges
oCDepfileParserParser for the dependency information emitted by gcc's -M flags
oCDepfileParserTest
oCDepsLogAs build commands run they can output extra dependency information (e.g
|\CDeps
oCDiskInterfaceInterface for accessing the disk
oCEdgeAn edge in the dependency graph; links between Nodes using Rules
oCEdgeEnvAn Env for an Edge, providing $in and $out
oCEnvAn interface for a scope for variable (e.g. "$foo") lookups
oCEvalStringA tokenized string that contains variable references
oCExternalStringHashMapA template for hash_maps keyed by a StringPiece whose string is owned externally (typically by the values)
oCFakeCommandRunnerFake implementation of CommandRunner, useful for tests
oCGETOPT_LONG_OPTION_T
oCGraphTest
oCGraphVizRuns the process of creating GraphViz .dot file output
oCImplicitDepLoaderImplicitDepLoader loads implicit dependencies, as referenced via the "depfile" attribute in build files
oCIncludesNormalizeUtility functions for normalizing include paths on Windows
oCLexer
oCLinePrinterPrints lines of text, possibly overprinting previously printed lines if the terminal supports it
oCLineReader
oCManifestParserParses .ninja files
|\CFileReader
oCMetricThe Metrics module is used for the debug mode that dumps timing stats of various actions
oCMetricsThe singleton that stores metrics and prints the report
oCNodeInformation about a node in the dependency graph: the file, whether it's dirty, mtime, etc
oCNoDeadPaths
oCParserTest
oCPlanPlan stores the state of a build plan: what we intend to build, which steps we're ready to execute
oCPlanTestFixture for tests involving Plan
oCPoolA pool for delayed edges
oCRealCommandRunner
oCRealDiskInterfaceImplementation of DiskInterface that actually hits the disk
oCRealFileReader
oCRegisteredTest
oCRuleAn invokable build command and associated metadata (description, etc.)
oCScopedMetricA scoped object for recording a metric across the body of a function
oCScopedTempDir
oCStateGlobal state (file status) for a single run
oCStateTestWithBuiltinRulesA base test fixture that includes a State object with a builtin "cat" rule
oCStopwatchA simple stopwatch which returns the time in seconds since Restart() was called
oCStringPieceStringPiece represents a slice of a string whose memory is managed externally
oCSubprocessSubprocess wraps a single async subprocess
oCSubprocessSetSubprocessSet runs a ppoll/pselect() loop around a set of Subprocesses
\CVirtualFileSystemAn implementation of DiskInterface that uses an in-memory representation of disk state
 \CEntryAn entry for a single in-memory file