LLVM 20.0.0git
TarWriter.h
Go to the documentation of this file.
1//===-- llvm/Support/TarWriter.h - Tar archive file creator -----*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_SUPPORT_TARWRITER_H
10#define LLVM_SUPPORT_TARWRITER_H
11
12#include "llvm/ADT/StringRef.h"
13#include "llvm/ADT/StringSet.h"
14#include "llvm/Support/Error.h"
16
17namespace llvm {
18class TarWriter {
19public:
21 StringRef BaseDir);
22
23 void append(StringRef Path, StringRef Data);
24
25private:
26 TarWriter(int FD, StringRef BaseDir);
28 std::string BaseDir;
29 StringSet<> Files;
30};
31}
32
33#endif
StringSet - A set-like wrapper for the StringMap.
Tagged union holding either a T or a Error.
Definition: Error.h:481
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:51
StringSet - A wrapper for StringMap that provides set-like functionality.
Definition: StringSet.h:23
static Expected< std::unique_ptr< TarWriter > > create(StringRef OutputPath, StringRef BaseDir)
Definition: TarWriter.cpp:169
void append(StringRef Path, StringRef Data)
Definition: TarWriter.cpp:184
A raw_ostream that writes to a file descriptor.
Definition: raw_ostream.h:460
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18