15#ifndef LLVM_CLANG_BASIC_ATOMICLINELOGGER_H
16#define LLVM_CLANG_BASIC_ATOMICLINELOGGER_H
19#include "llvm/ADT/SmallString.h"
20#include "llvm/Support/raw_ostream.h"
29 std::optional<llvm::raw_svector_ostream> FormattingOS;
31 std::atomic<uint64_t> *DroppedLines =
nullptr;
33 explicit LogLine(
int FD, std::atomic<uint64_t> *DroppedLines);
50 template <
typename RangeT>
51 void logArray(StringRef Prefix, StringRef Sep,
const RangeT &Arr) {
53 *FormattingOS << Prefix;
54 for (
const auto &
C : Arr)
55 *FormattingOS << Sep <<
C;
65 std::atomic<uint64_t> DroppedLines{0};
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
AtomicLineLogger(AtomicLineLogger &&)=delete
AtomicLineLogger & operator=(AtomicLineLogger &&)=delete
LogLine(const LogLine &)=delete
LogLine & operator<<(const T &Val)
void logArray(StringRef Prefix, StringRef Sep, const RangeT &Arr)
friend class AtomicLineLogger
LogLine & operator=(const LogLine &)=delete
LogLine & operator=(LogLine &&)=delete
The JSON file list parser is used to communicate input to InstallAPI.
const FunctionProtoType * T
@ Other
Other implicit parameter.