11#include "llvm/ADT/STLExtras.h"
12#include "llvm/Support/ErrorHandling.h"
24 return asTuple() ==
Other.asTuple();
28 return !(*
this ==
Other);
32 return asTuple() <
Other.asTuple();
38 Result.Namespaces.push_back(
46 return Namespaces ==
Other.Namespaces;
50 return !(*
this ==
Other);
54 return Namespaces <
Other.Namespaces;
62 return OS <<
"BuildNamespace(" << BN.Kind <<
", " << BN.Name <<
")";
67 OS <<
"NestedBuildNamespace([";
68 llvm::interleaveComma(NBN.Namespaces, OS);
Represents a single namespace in the build process.
BuildNamespace(BuildNamespaceKind Kind, llvm::StringRef Name)
bool operator<(const BuildNamespace &Other) const
bool operator!=(const BuildNamespace &Other) const
static BuildNamespace makeCompilationUnit(llvm::StringRef CompilationId)
Creates a BuildNamespace representing a compilation unit.
bool operator==(const BuildNamespace &Other) const
Represents a hierarchical sequence of build namespaces.
static NestedBuildNamespace makeCompilationUnit(llvm::StringRef CompilationId)
Creates a NestedBuildNamespace representing a compilation unit.
NestedBuildNamespace()=default
bool operator<(const NestedBuildNamespace &Other) const
bool operator!=(const NestedBuildNamespace &Other) const
bool operator==(const NestedBuildNamespace &Other) const
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, BuildNamespaceKind BNK)
llvm::StringRef buildNamespaceKindToString(BuildNamespaceKind BNK)
Returns the canonical string representation of BNK used for serialization and display (e....
@ Result
The result type of a method or function.
@ Other
Other implicit parameter.